post与get 请求的区别

1,GET和POST与数据如何传递没有关系??

post与get 请求是由HTTP协议定义的,那么使用那个方式与应用层的数据层如何传输是没有互相关系的。

从而,http就没有要求,post一定要放到请求体里面,get就一定要放到url里面。

因为有各种浏览器软件的实现,就变成get用url传参,post用body传参。

2、HTTP协议对GET和POST有没有对长度的限制??

HTTP协议明确地指出了,HTTP请求头和请求体都没有长度的要求。

而对于URL长度上的限制,有两方面的原因造成:

1、浏览器。

据说IE对URL长度会限制在2048个字符内。但是就我所知,firefox是支持10W以上的长度

2、服务器。

服务器处理超长的URL本身就是一种负担,更何况遭受恶意攻击呢?

因此,多数服务器出于安全、稳定等多方面的考虑,会给URL长度加限制。但是这个限制是针对所有HTTP请求的,与GET、POST没有关系。

3、安全不安全和GET、POST有没有关系??

Get和Post剥开后,他们的本质上就是TCP链接,并无差别。

只是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同

Get产生一个TCP数据包;Post产生两个TCP数据包。

对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

对于POST,浏览器先发送header,服务器响应100(continue),然后再发送data,服务器响应200(返回数据);

猜你喜欢

转载自blog.csdn.net/weixin_42331253/article/details/82972051