HTTP请求的两种方式:GET和POST

GET和POST的一般区别:

  1. get 在浏览器回退时是无害的,post会再次发送请求。
  2. get 的URL地址会被BookMark,post不会
  3. get 的参数放在URL上,post的参数放在request body中
  4. 对于参数的数据类型,get 只支持ACSII字符,post没有限制
  5. post 要比 get 更安全,因为get 的参数暴露在URL上,不能传递敏感信息
  6. get 请求会被浏览器主动缓存,post不会,除非手动设置
  7. get 只支持URL编码,post支持多种编码方式
  8. get 的url中传参是有长度限制的,post没有
  9. get 的传递的参数会随URL保留在浏览器历史记录中,post 的参数不会被保留

 

Http是基于TCP/IP的将数据在万维网中进行通信的协议,HTTP的底层是TCP/IP,所以get 和post 的底层也是TCP/IP。

 

1、post 比 get 慢

Get 和 POST还有一个最大的区别:get发送一次TCP数据包,post发送两次数据包。

  • 对于GET请求:浏览器发送get请求头和数据,服务器接收,返回200
  • 对于POST请求:浏览器先发送post请求头,服务器响应,返回100 continue,浏览器再发送数据,服务器接收,返回200

这就是post比get方式慢的原因。

 

2、get 请求方式的参数长度限制是怎么回事?

  • HTTP协议并没有规定 get 和 post 的参数长度
  • 是URL长度受到限制,并不是参数数据长度受到限制
  • 是浏览器和web服务器限制了URL的长度,不同的浏览器和服务器限制长度不同

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值