第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就发送一次

 

posted @ 2021-09-22 20:43  现在开始努力  阅读(81)  评论(0)    收藏  举报