POST/GET请求方式的区别(方便记忆)

浏览器向服务器发送请求时,需要分别注意请求的三要素:

  • 请求地址(URL)
  • 请求方式(POST/GET)
  • 请求参数

POST/GET请求方式的区别:

  1. POST/GET请求方式采用的都是HTTP协议,而HTTP则依赖于其下层网络TCP/IP协议。因此在运输层之下,两者实际上是等同的,都是由TCP连接传递报文段进行数据通信。

  2. POST和GET最明显的区别是,GET方式会将请求参数置于浏览器地址值栏后以?拼接在URL之后(多个请求参数之间使用&连接,只允许ASCII字符),而POST方式则会将请求参数包裹在请求体(Request body)中。但这个不是绝对的,使用GET方式时也可以在请求体中放请求参数,使用POST方式也可以将请求参数拼接在URL之后,但不推荐这么做。

    注:在tomcat服务器中,请求URL中的请求参数数据由tomcat服务器自动读取,默认读取编码为UTF-8,而在请求体中的数据则由ServletResponse对象读取,默认采用编码为“ISO-8859-1”。

  3. 基于上一条,由于大多数浏览器对请求的URL长度有所限制(如不能超过2K字节),(大多数)服务器最多处理64K大小的url,因此GET请求方式所能够携带的参数是有限的。POST方式将请求参数包裹在请求体中,因此相对没有限制。

  4. 对于有些客户端来说,POST在发送TCP报文段时,会先发送包含HTTP Header的一个数据包,等到收到来自服务器的100 continue后,再将数据生成另一个数据包发送,因此产生了两个数据包,而GET则是一次性将HTTP Header和data全部发送,因此只产生一个数据包。

  5. GET请求方式的请求参数可以被浏览器主动缓存,同时也可以被存储在浏览器的历史记录中,而POST请求方式的请求参数要缓存的话需要手动设置,也不可以被存储在浏览器的历史记录中,

  6. 基于前两条,GET请求方式会比POST请求方式的处理速度更快。还有其他的原因如POST不能采用管道传输等

  7. GET方式刷新无害。而POST方式刷新会再次提交数据。

  8. POST方式提交的页面不可用被存为书签:比如订单等,存入书签没有意义。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值