GET or POST

POST 请求过程

POST 请求过程:

  1. 浏览器请求 TCP 连接(第一次握手)。
  2. 服务器答应进行 TCP 连接(第二次握手)。
  3. 浏览器确认,并发送 POST 请求头(第三次握手,这个报文比较小,所以 HTTP 会在此时进行第一次数据发送)。
  4. 服务器返回 100 continue 响应。
  5. 浏览器开始发送数据。
  6. 服务器返回 200 ok 响应。

POST 请求具有以下特点:

  • 数据安全:不会作为 URL 的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中。
  • 发送数据量大:GET 请求有 URL 长度限制。
  • 发送不同的数据类型:GET 请求只能发送 ASCII 字符。
  • 耗时长。

GET 请求过程

GET 请求过程:

  1. 浏览器请求 TCP 连接(第一次握手)。
  2. 服务器答应进行 TCP 连接(第二次握手)。
  3. 浏览器确认,并发送 GET 请求头和数据(第三次握手,这个报文比较小,所以 HTTP 会在此时进行第一次数据发送)。
  4. 服务器返回 200 ok 响应。

GET 请求效率更高,POST 请求更加安全,赶时间不要用 POST 请求数据,加密数据不要用 GET 请求提交。