入门了解GET和POST

GET和POST的区别

GET和POST其实都是http的请求方法。其他方法有 PUT、HEAD、DELETE、OPTIONS、TRACE、CONNECT这六种请求方法。所以http的请求方法有8种:

入门了解GET和POST_第1张图片

GET请求方法的特点

GET请求的数据会附在URL之后(放在请求行中),以?分隔URL传输数据,多个参数是以&进行连接。

GET请求用于信息获取,具有安全性和幂等性

安全性:

指的是非修改信息,即操作用于获取信息而非修改信息。换句话说GET请求一般不产生副作用,仅仅只获取资源信息。

幂等性:

无论调用这个URL多少次,都不会返回不同结果的HTTP方法。

  1. GET请求是会被浏览器主动缓存的,如果下一次传输的数据相同,那么就会返回缓存中的内容,以求更快的展示数据。
  2. GET请求的URL一般都有长度限制,但是HTTP协议中并未规定GET请求的长度。这个长度的限制主要是由浏览器和web服务器所决定的,不同的浏览器对长度的限制也不同。
  3. GET请求只产生一个TCP数据包,浏览器会将请求头和请求数据一并发送出去,服务器返回200状态码。

POST方法的特点:

根据HTTP规范,POST表示可能修改改变服务器上的资源请求。

POST请求有可能修改服务器上的数据,因此不符合安全性和幂等性。

POST请求是将请求信息放在请求数据中的。

POST方法的请求信息是放置在请求数据中的,所以它的请求信息没有长度限制。

POST请求方法会产生两个TCP数据包,浏览器会先将请求头发送给服务器,待服务器响应100 continue,浏览器才会再次发送请求数据,服务器响应200.理论上POST请求的传输速度慢于GET,但其实实际中传输速度基本相同。

GET和POST的区别:

本质都是TCP连接,并无区别。但是由于HTTP的规定和浏览器/服务器的限制,导致在应用过程中有所不同。

入门了解GET和POST_第2张图片

你可能感兴趣的:(入门了解GET和POST)