您的位置:首页 > 理论基础 > 计算机网络

http协议请求,get和post的区别与联系

2017-03-21 19:35 369 查看
                 网络通讯中HTTP协议详解

一、什么是HTTP协议

    HTTP协议全称:HyperText Transfer Protocol 是一种超文本传输协议,通过URL(统一资源标示符),请求网络上远程资源,格式是http://

HTTP协议在现在互联网中使用最多的通讯协议,具有以下几个优点:

1、简单快速:客户端向服务端发送请求时,只需传送请求方法和路径。

                          在HTTP/1.1协议中,定义了GET、POST、HEAD、PUT、DELETE、TARCE、CONNECT、PATCH几种请求方式,目                             前使用最多的是GET和POST请求方式。

                          由于HTTP协议简单,使得HTTP服务器的程序规模小,因为通讯速度很快。

2、灵    活:HTTP协议允许传输任意类型的数据对象。正在传输的类型由Content-Type标记。

3、无连接:每次链接只处理一个请求,服务器处理完客户端的请求,并受到请求响应后即断开链接,采用这种方式可以节省传输时间                        和服务器资源。

二、HTTP的通讯过程

客户端通过发送一个URL请求,服务器根据请求查找本地数据库或者资源库作出响应,并将数据返回给客户端;

下面通过使用WireShark工具,对一个GET请求过程作出详细解析:

 1、请求阶段:



 HTTP协议规定:一个完整的由客户端发送给服务端的HTPP请求中包含

                            请求行:包含请求方法、请求资源路径、HTTP协议版本

                                          GET /chsi/images/2014/img01/jpg?v=20170110  HTTP/1.1\r\n  

                            请求头:包含对客户端环境的描述、客户端请求的主机地址等信息

                                           HOST:t1.chei.com.cn\r\n              // 客户端的想要访问的服务器地址或域名

                                           User-Agent:  Mozilla/5.0(Macintosh;Intel Mac OS X 10_12_3) AppleWebKit/602.4.8 // (客户                                
           端的类型,客户端开发环境等);

                                           Accept:  text/html;       //  客户端所能接收的数据类型

                                           Accept-Language: zh-cn\r\n           // 客户端的语言环境

                                           Accept-Encoding:  gzip // 客户端支持的数据压缩格式;

2、响应阶段



        HTTP协议规定:一个完整的HTTP响应中包含以下内容

                                   状态行:包含HTTP协议版本、状态码、状态英文名称

                                                  HTTP/1.1 200 OK

                                   响应头:包含对服务器的描述、对返回数据的描述

                                                  Server:  nginx    //  服务器的类型

                                                  Content-Type:image/jpeg //   返回数据的类型

                                                  Content-Length:6560  //  返回数据的长度

                                                  Data:Wed,15  Mar 2017 02:56:23 GMT  //  响应时间

                                   实体内容:服务器返回给客户端的具体数据
4000
,该实例中是一张图片数据:如下图所示

三、GET和POST请求的区别

          GET请求:在URL后面以?隔开,?前面是请求的地址或域名,后面是请求时的参数,多个参数之间用&隔开,                                比如:http://chsi/image/2014/img01.jpg?v=20170110&t=test

          POST请求:参数全部在请求体中;

两者的区别主要是:

1、如果传递大量数据、比如大文件的上传下载,只能使用POST请求,GET请求的URL有长度限制,一般不超过1kb;

2、POST安全性较好,如果包含敏感信息比如用户登录的账号密码,使用POST请求;

3、如果涉及到数据的增加、修改、删除,使用POST。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  http协议 GET 网络 通讯