理论知识

前端面试10-2:GET 和 POST 的区别

2022-04-23  本文已影响0人  小小前端搬运工

get 参数通过 url 传递,post 放在 request body 中。

get 请求在 url 中传递的参数是有长度限制的,而 post 没有。

get 比 post 更不安全,因为参数直接暴露在 url 中,所以不能用来传递敏感信息。

get 请求只能进行 url 编码,而 post 支持多种编码方式

get 请求会浏览器主动 cache,而 post 支持多种编码方式。

get 请求参数会被完整保留在浏览历史记录里,而 post 中的参数不会被保留。

GET 和 POST 本质上就是 TCP 链接,并无差别。但是由于 HTTP 的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。

GET 产生一个 TCP 数据包;POST 产生两个 TCP 数据包。

GET - 从指定的资源请求数据。

POST - 向指定的资源提交要被处理的数据。

GET:不同的浏览器和服务器不同,一般限制在 2~8K 之间,更加常见的是 1k 以内。

GET 和 POST 的底层也是 TCP/IP,GET/POST 都是 TCP 链接。

GET 产生一个 TCP 数据包;POST 产生两个 TCP 数据包。

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

而对于 POST,浏览器先发送 header,服务器响应 100 continue,浏览器再发送 data,服务器响应 200 ok(返回数据)。

上一篇 下一篇

猜你喜欢

热点阅读