get和post的区别

标准区别:

1.GET在浏览器回退是是无害的,POST会再次提交请求

2.GET产生的URL地址可以被Bokkmark,而POST不可以

3.GET请求会被浏览器主动cache,而POST不会,除非手动设置

4.GET请求智能进行URL编码,而Post支持多种编码方式

5.GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留

6.GET请求在URL中传送的参数是由长度限制的,而POST没有限制

7.对参数的数据类型,GET只接受ASCII字符,而POST没有显示

8.GET比POST更不安全,因为参数直接暴漏在URL上,所以不能来传递敏感信息。

9.GET参数通过URL传递,而Post放在Request body里面

 

深入区别

1.GET和POST是HTTP协议中的两种发送请求方式

2.HTTP是基于TCP/IP关于数据如何在万维网中如何通信的协议

  ---HTTP的底层是TCP/IP。所以说GET和POST的底层也是TCP也就是tcp链接。get和post能做的事情是一样的,你要给get加上request bosyd,给post带上url参数,技术上是完全行得通的。

3.get产生一个tcp数据包;post产生两个数据包。

  ---对于get方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

  ---对于post方式的请求,浏览器会先发送header,服务器响应100continue,浏览器再发送data,服务器响应200 ok(返回数据)

你可能感兴趣的:(http,post)