HTTP_2_GET与POST的区别
HTTP请求方法
HTTP1.0定义了三种请求方法:GET、POST、HEAD;
HTTP1.1新增了6中请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE、CONNECT。
GET与POST的区别
1.传输的安全性
- GET请求是不安全的,因为在请求传输的过程中,请求参数被暴露在URL中,所以不能用来传输敏感信息;
- POST是相对安全的,因为POST的请求参数放在Request Body中,用户不可见。
2.传输数据大小
- GET请求传输数据的大小有限制,一般为1024字节;POST请求对传输的数据量是没有限制的【1】。
3.请求发送次数
- GET产生一个TCP数据包;POST产生两个TCP数据包【2】。
4.参数数据类型
- GET请求传输参数时只能接受ASCII字符,而POST请求没有要求。
5.其它方面区别
- GET在浏览页面时回退是无害的,而POST会再次提交请求;
- GET请求参数会被完整保留在浏览器历史记录中,POST的参数不会被保留。
注释
【1】HTTP协议中并没有对GET请求提交数据的大小做出限制,而是与浏览器、服务器有关;而POST理论上来说没有大小限制,但实际上POST所能传输数据的大小也可能受制于服务器的设置和内存大小。
【2】对于GET请求,浏览器会把http header和http data一块发出去,服务器对请求做出相应的响应;对于POST请求,浏览器会先发送http header,服务器响应 100,浏览器再发送http data,服务器响应200。
结语
未完待续...