第3天--get和post的区别
get和post的主要区别:
1.url可见性
get:url参数可见
post:url参数不可见
2.数据传输上
get:通过拼接url传递参数
post:通过body体传递参数
3.缓存上
get:可以缓存
post:不可以缓存
4.后退页面的反应
get:请求页面后退时,不产生影响
post:请求页面后退时,会重新提交请求
5.传输数据的大小
get:传输数据的大小不超过2k-4k
post:传输数据的大小由php.ini设定,可以无限大
6.安全性
原则上post比get安全,毕竟post参数传递不可见,但是也可以在get传参时进行加密操作,所以安全性区别不大
7.数据包
get:产生一个tcp数据包,对于get方式的请求,浏览器会将http header和body一并发出去,服务器响应200(返回数据)
post:产生两个tcp数据包,对于post方式的请求,浏览器会先将header发送出去,服务器响应100 continue,浏览器再次发送data,服务器响应200 ok(返回数据)
在网络环境好的时候,发送一个tcp和发送两个tcp数据包的时间差别基本可以无视,但是在网络不好的情况下,发送两次tcp数据包在验证数据包的完整性上,有非常大的优点,但是并不是所有浏览器都会在post中发送两次数据包,Firefox就发送一次

浙公网安备 33010602011771号