HTTP 请求的 GET 与 POST 方式的区别
- 根据 HTTP 规范,GET 用于信息获取,而且应该是安全的和幂等的。
- 根据 HTTP 规范,POST 表示可能修改变服务器上的资源的请求。
- 首先是 “GET 方式提交的数据最多只能是 1024 字节”,因为 GET 是通过 URL 提交数据,那么 GET 可提交的数据量就跟 URL 的长度有直接关系了。而实际上,URL 不存在参数上限的问题,HTTP 协议规范没有对 URL 长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE 对 URL 长度的限制是 2083 字节(2K+35)。对于其他浏览器,如 Netscape、FireFox 等,理论上没有长度限制,其限制取决于操作系统的支持。注意这是限制是整个 URL 长度,而不仅仅是你的参数值数据长度。
- POST 是没有大小限制的,HTTP 协议规范也没有进行大小限制
以上为标准答案,实际回答时可增加如下两条:
- 首先是语义区别,GET 为获取,POST 为提交;(分清语义区别是为了更好的实现 RESTFul 风格 API)
- 其次是 GET 请求只请求服务器一次,但 POST 会请求两次,第一次是 OPTIONS 方式请求为了确定服务器是否能够接收数据,第二次才是真的 POST 请求,将数据提交到服务器;
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 非鱼小站!
评论
WalineDisqus