最近看了一些同学的面经,发现无论什么技术岗位,还是会问到 get 和 post 的区别,而搜索出来的答案并不能让我们装得一手好逼,那就让我们从 HTTP 报文的角度来撸一波,从而搞明白他们的区别。在开撸之前吗,让我们先看一下标准答案长什么样子。先下结论,GET 和 POST 方法没有实质区别,只是报文格式不同。HTTP 协议中没有明确说明 POST 会产生两个 TCP 数据包,而且实际测试发现,header 和 body 不会分开发送。所以,header 和 body 分开发送是部分浏览器或框架的请求方法,不属于 post 必然行为。我们用 postman 直接发送超过 2048 个字符的请求看看然后我们可以得出结论,url 长度限制是某些浏览器和服务器的限制,和 HTTP 协议没有关系。
暂无评论