get和post区别

150 阅读2分钟

相同点

GET 和 POST 方法只是 HTTP 协议为了不同分工而规定的两种请求方式。

整个请求过程大概是这样的:

  • 客户端 IP 发出请求。
  • 发出的请求数据包会通过 TCP ,经网络传输给远程服务端 IP。
  • 服务端 IP 收到请求包之后,解析并处理请求包最后服务端会通过 TCP 将处理结果返回给客户端。
  • 用户便可以查看到想要的响应数据。

区别

1、作用不同

  • GET 多用于从服务端获取资源
  • POST 一般用来向服务端提交资源

2、参数传递方式不同

  • GET 的参数一般是通过 ? 跟在 URL 后面的,多个参数通过 & 连接,比如:www.example.com?serach=bianchengsanmei&content=123
  • POST 的参数一般是包含在 request body 中的image-20210805202707330

3、安全性不同

因为参数传递方式的不同,所以 GET 和 POST 的安全性不同:GET 比 POST 更不安全,因为参数直接暴露在URL上,所以 GET 不能用来传递敏感信息。

4、参数长度限制不同

GET 和 POST 传递参数的长度不同:

  • get传送的数据量较小,不能大于2KB。
  • post传送的数据量较大,一般被默认为不受限制。

POST 请求的过程:

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

GET 请求的过程:

  1. 浏览器请求 TCP 连接(第一次握手)

  2. 服务器答应进行 TCP 连接(第二次握手)

  3. 浏览器确认,并发送 GET 请求头和数据(第三次握手,这个报文比较小,所以 HTTP 会在此时进行第一次数据发送)

  4. 服务器返回 200 OK响应

来源链接:juejin.cn/post/699293…