网络协议:
Http存在8种网络请求:
Get post delete put head options trace connect
get和post的区别:
1:在协议规定上,get用来获取数据,post用来修改数据。
2:在安全性上,get传输会裸漏数据在地址栏上,安全性很低,而post相对而言会安全一些。但仍可通过抓包技术获取数据。
get把参数放在URL上,而POST通过request body传递参数
不会作为URL的一部分,不会被缓存,保存在服务器日志以及浏览器记录中。
3:传输数据大小:
Get有大小限制:2K
Post理论上没有限制。
4:post比get慢。
5:post能发送更多数据类型,而post只能发送ASCII字符。
为什么get比post更快?
1:因为post在接收数据之前会将请求头发送给服务器进行确认,然后才真正发送数据。
Post请求过程:
(1)浏览器请求TCP连接(第一次握手)
(2)服务器答应进行Tcp连接(第二次握手)
(3)浏览器确认,并发送post请求头(第三次握手)报文较小,故http会在此时进行一次数据发送。
(4)服务器返回100Continue响应
(5)浏览器发送数据
(6)服务器返回200 OK相应
Get请求过程:
(1)浏览器请求TCP连接(第一次握手)
(2)服务器答应进行Tcp连接(第二次握手)
(3)浏览器确认,并发送get请求头(第三次握手)报文较小,故http会在此时进行一次数据发送。
(4)服务器返回200 OK相应
Get总耗是post的2/3左右。