get和post区别是什么?
1. GET请求参数是通过URL传递的, POST请求的参数放在请求体中。
2. GET请求比POST请求更不安全,因为参数直接暴露在URL中,所以,GET请求不能够用来传递敏感信息。
3.GET请求在url中传递的参数是有长度限制的(在HTTP协议中并没有对URL的长度进行限制,限制是在特定的浏览器以及服务器对它的限制,不同浏览器限制的长
度不同。) , POST没有。
4. GET请求参数会完整的保留在浏览器的历史记录中,POST请求的参数不会保留。
5. GET请求请求进行ur1编码(百分号编码) , POST请求支持多种编码方式。
6. GET请求产生的URL地址是可以被booknark (存书签),POST请求不可以。
7. GET请求在浏览器回退的时候是无害的,FOST请求会再次提交数据。
8. GET请求再浏览器中可以被主动cache,而POST请求不会,可以手动设置。
深入:GET和POST本质上没有区别
GET和POST是什么?
HTTP协议中的两种发送请求的方法,本质都是在进行TCP连接。
GET和POST有-个重大的区别:
简单的说: GET产生一个TCP数据包, POST产生两个TCP数据包。
复杂的说:对于CET方式的请求,浏览器会把http header和data-起发送出去,服务器响应200 ok。
对于POST请求,浏览器先发送header,服务器会响应100 (已经收到请求的第一部分, 正在等待其余部分),浏览器再次发送data,服务器返回200 ok。
是不是POST请求需要两步,时间上的消耗会比GET请求更多?不是
1. GET请求和POST请求都有自己的语义,不能够随便混用。
2.在网络环境好的情况下,发送一次包的时间和发送两次包的时间差别可以无视,在网络环境差的情况下,发送两次包的TCP在验证数据完整性上,有非常大的优势。
3.并不是所有浏览器都会在POST请求中发送两次包。比如:火狐