ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

通俗易懂(HTTP-请求中-POST-与-GET-的区别)

2021-07-20 12:01:01  阅读:241  来源: 互联网

标签:限制 请求 GET URL 长度 HTTP POST


GET与POST请求他们的区别主要有以下几点

(一)GET通过地址栏传输,PSOT通过报文传输;

(二)GET参数有长度限制(受限于URL长度),而PSOT无限制;

(三)GET传输是不安全的,POST是安全的;

(四)GET请求产生一个TCP数据包,这相当于GET他可以一次性就可以把货送到位;

           POST请求产生两个TCP数据包,这相当于POST他得要跑两趟才可以把货送到位;

详细分析


第一点分析:

GET是通过URL地址栏进行传输;

http//:localhost:8080/user/login/userName=bajiao?password=bajiao123

POST是通过报文的方式进行传输(以下是以Postman报文格式进行展示);

URL:http//:localhost:8080/user/login

Headers:{

Content-type:application/json

},

Body:{

“userName”:”bajiao”,

“password”:bajiao123

}

第二点分析:

       GET请求是有一定局限的限制的;

       POST的这样的数据呢,通常来说可以放在body,也就是请求体里面,他是没有数据长度的限制的;

1、Http get方法提交的数据大小长度并没有限制,Http协议规范没有对URL长度进行限制。目前说的get长度有限制,是特定的浏览器及服务器对它的限制。各种浏览器和服务器的最大处理能力如下:

        IE:对URL的最大限制为2083个字符,若超出这个数字,提交按钮没有任何反应。

        Firefox:对Firefox浏览器URL的长度限制为:65536个字符。

        Safari:URL最大长度限制为80000个字符。

        Opera:URL最大长度限制为190000个字符。

        Google(chrome):URL最大长度限制为8182个字符。

        Apache(Server):能接受的最大url长度为8192个字符(这个准确度待定???)

        Microsoft Internet Information Server(IIS):n能接受最大url的长度为16384个字符。

2、理论上讲,post是没有大小限制的。Http协议规范也没有进行大小限制,起限制作用的是服务器处理程序的处理能力。

        Tomcat下默认post长度为2M,可通过修改conf/server.xml中的“maxPostSize=0”来取消对post大小的限制。

第三点分析:

       GET是不安全的,因为在传输过程,数据被放在请求的URL中;

       POST是安全的,因为所有操作对用户来说都是不可见的;

       GET请求的安全性可能不如POST那么高,但是GET请求他的一个传输速度比POST要快;

第四点分析:

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

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

       也就是说,GET只需要汽车跑一趟就把货送到了,而POST得跑两趟,第一趟,先去和服务器打个招呼“嗨,我等下要送一批货来,你们打开门迎接我”,然后再回头把货送过去;

        因为POST需要两步,时间上消耗的要多一点,看起来GET比POST更有效一点;

HTTP请求中POST与GET的区别拓展小知识:

1、GET在浏览器回退时是无害的,而POST会再次提交请求;

2、GET产生的URL地址可以被Bookmark,而POST不可以;

3、GET请求会被浏览器主动cache,而POST不会,除非手动设置;

4、GET请求只能进行URL编码,而POST支持多种编码方式;

5、GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留;

6、GET请求在URL中传送的参数是有长度限制的,而POST么有;

7、对参数的数据类型,GET只接受ASCII字符,而POST没有限制;

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

9、GET参数通过URL传递,POST放在Request body中;

       以上是我学习的笔记,希望能够给大家带来帮助,如有不足之处还希望各路大神批评指正。谢谢大家~~~~

标签:限制,请求,GET,URL,长度,HTTP,POST
来源: https://blog.csdn.net/weixin_53209288/article/details/118930815

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有