Java 基础 - HTTP 请求的 GET 与 POST 方式的区别

学习完整课程请移步 互联网 Java 全栈工程师

  • 根据 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 请求,将数据提交到服务器;

你可能感兴趣的:(Java 基础 - HTTP 请求的 GET 与 POST 方式的区别)