HTTP请求:get和post的区别

转自:原文

在web开发中最常用的http请求方式为get和post,但是它们之间的区别总是很模糊,没有比较明确的区分,似乎它们是可以互相替换的,只是请求格式不同。周末,通过在网上查阅资料,做了一个简单总结。

 

1标准答案

1、get是指从指定的资源请求数据,post则是向指定的资源提交数据。

2、getURL可见,postURL不可见。

3、get的参数时通过URL中传递的,post参数是通过request  body传递。

4、get在浏览器回退时是无害的,而post会再次提交请求。

5、get请求可被缓存,post请求不会被缓存。

6、get请求会被保存浏览器的历史记录中,post不会被保存。

7、get请求有长度限制,post没有长度限制。

8、get比post更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

2深入答案

get产生一个TCP数据包,post产生两个TCP数据包。(对于get方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值