针对浏览器和服务器端:
1.GET请求的数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连,POST把提交的数据则放置在是HTTP包的包体中。
2.GET的长度受限于url的长度,而url的长度限制是特定的浏览器和服务器设置的,理论上GET的长度可以无限长。
3.POST是没有大小限制的,HTTP协议规范也没有进行大小限制,起限制作用的是服务器的处理程序的处理能力
4.在ASP中,服务端获取GET请求参数用Request.QueryString,获取POST请求参数用Request.Form。
5.POST的安全性要比GET的安全性高,主要是因为url可见,本质上get,post都不安全,可用https形成两端加密。
GET - 从指定的资源请求数据。
GET 请求可被缓存
GET 请求保留在浏览器历史记录中
GET 请求可被收藏为书签
GET 请求不应在处理敏感数据时使用
GET 请求有长度限制
GET 请求只应当用于取回数据
POST - 向指定的资源提交要被处理的数据
POST 请求不会被缓存
POST 请求不会保留在浏览器历史记录中
POST 不能被收藏为书签
POST 请求对数据长度没有要求
但实际上get和post本质上都是TCP
链接。由于HTTP
的规定和浏览器/服务器
的限制,导致他们在应用过程中体现出一些不同.
tcp:一种面向连接
的、可靠
的、基于字节流
的传输层通信协议
对于GET方式的请求,浏览器会把http,header和data一并发送出去,服务器响应200(返回数据)
而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
Get产生一个TCP数据包;Post产生两个TCP数据包。
建立TCP连接:
客户端和服务端总共发送3个包以确认连接的建立
[图片上传中...(image.png-c4dd2e-1616899433737-0)]
![](https://img.haomeiwen.com/i20187175/e82b7e7fef9ab7e5.png)
终止TCP连接:
![](https://img.haomeiwen.com/i20187175/053bb08c462f05cc.png)
网友评论