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协议
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和post的区别与联系
- http协议请求,get和post的区别与联系
- http协议请求,get和post的区别与联系
- http协议请求,get和post的区别与联系
- http协议请求,get和post的区别与联系
- http协议请求,get和post的区别与联系
- http协议请求,get和post的区别与联系
- http协议请求,get和post的区别与联系
- http协议请求,get和post的区别与联系
- http协议请求,get和post的区别与联系
- http协议请求,get和post的区别与联系
- http协议请求,get和post的区别与联系
- http协议请求,get和post的区别与联系
- http协议请求,get和post的区别与联系
- HTTP 协议请求方法GET 与POST 的区别
- 关于HTTP 协议的特点,以及网络请求GET 和 POST 的区别?
- 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别
- 解析HTTP协议六种请求方法:get,head,put,delete,post有什么区别
- HTTP协议中请求方法Get和Post的区别是什么?
- HTTP协议GET和POST请求的区别