POST和GET

在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST,除了这两种还有PUT和DELETE

GET - 从指定的资源请求数据
POST - 向指定的资源提交要被处理的数据

POST和GET是HTTP获取数据的两种方法,HTTP底层是用TCP/IP来实现的,所以POST和GET也是用TCP/IP协议来获取数据的

  1. GET在浏览器退回的时候是无害的,而POST回确认重新提交
  2. GET的参数是在URL中的,POST的参数在request body中
  3. GET请求会被自动浏览器缓存,而POST不会,除非设置
  4. GET比POST更不安全,因为GET传输的参数暴露在URL中
  5. GET传送的数据长度有限制,最大不能超过2K。而POST默认为不受限制
  6. GET请求参数会保留在浏览器历史记录里,而POST中的参数不会被保留
  7. GET是发送一个数据包,浏览器会把 http header 和 data 一起发送出去,服务器响应200 并返回数据
  8. POST会发送两个数据包,浏览器会先发送 header 服务器响应100 continue,浏览器继续发送 data 服务器响应200 返回数据(有些浏览器只发送一个数据包,有些框架封装POST的时候回先发送header在发送data,而大部分都是发送一个数据包)

以上都是浏览器或者是服务器添加的一些限制,

POST和GET在本质上没有什么区别,都是用的TCP协议发送或请求

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容