get请求与post请求的区别

1. HTTP协议

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议。所有的www文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

2. HTTP的get和post请求

在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:getpost

  • get : 从指定的资源请求数据;
  • post :向指定的资源提交要被处理的数据。

2.1 get请求

使用get请求,参数是在请求的url中传递的。

https://www.bilibili.com/video/BV1t4411e7LH/?p=11 // ?后面的p=11就是get请求的参数

get请求的特点

get请求还具有以下特点:

  • get请求可以被缓存;
  • get请求保留在浏览器的历史记录中;
  • get请求可以被收藏为书签;
  • get请求在浏览器回退时是无害的。

2.2 post请求

使用post请求,参数是在请求的消息体中传递的。

Request URL: https://passport.bilibili.com/qrcode/getLoginInfo
Request Method: POST
Remote Address: 120.92.168.51:443

request body: // post请求参数
	oauthKey: 6f8d790604914645afdcddff00b329aa
	gourl: https://www.bilibili.com/video/BV1t4411e7LH/?p=11

post请求的特点

post请求还具有以下特点:

  • post请求不会被浏览器主动缓存,除非手动设置;
  • post请求不会保留在浏览器的浏览历史中;
  • post请求在浏览器回退时会再次提交。

2.3 get请求和post请求的区别

HTTP协议是应用层的协议,底层都是使用的TCP/IP传递数据包。作为HTTP协议的不同提交方式的get请求和post请求,底层也是使用的TCP/IP。但是,两者还是有所区别的:

  • 对于get请求,浏览器会把http headerhttp data一并发送出去,服务器响应200
  • 而对于post请求,浏览器先发送http header,服务器响应100 ,浏览器再发送http data,服务器响应200

简单的说就是:get请求产生1tcp数据包;post请求产生2tcp数据包。

2.4 get请求和post请求参数长度的限制

HTTP协议规范对get请求和post请求参数长度没有进行大小限制,真正起限制作用的是浏览器和服务器的程序处理能力,具体的长度依赖于各个浏览器厂家的规定或者可以根据 web 服务器的处理能力来设定。

3. 参考文献

HTTP 方法:GET 对比 POST
关于 HTTP GET/POST 请求参数长度最大值的一个理解误区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值