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/loginHeaders:{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中;

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

HTTP协议中POST与GET的详细区别总结----------通俗易懂相关推荐

  1. HTTP协议中GET和POST方法的区别

    本文详细对比了HTTP协议中GET和POST方法的区别,部分内容可能有误,读者请自行甄别. 转自博客https://sunshinevvv.coding.me/blog/2017/02/09/Http ...

  2. vuex中mutation和action的详细区别

    一.vuex中mutation和action的详细区别 const store = new Vuex.Store({state: {count: 0},mutations: {increment (s ...

  3. http协议中,get和post的区别

    http协议中,get和post的区别 1.get的请求的参数是放在url里面的: post是请求的参数是在请求体里面的. 2,get请求是可以被浏览器缓存的: post请求不能被浏览器缓存的. 3, ...

  4. HTTP协议中URI和URL有什么区别

    目录 1. `URL` 是什么 2. `URI` 是什么 3. `URI` 和 `URL` 之间的区别 1. URL 是什么 URL 即 Universal Resource Locator :称为 ...

  5. Java虚拟机:Java中堆和栈的详细区别

    一.Java中内存分配策略: 在比较堆和栈的区别之前,我们先了解下Java的内存分配策略,按照编译原理的观点,程序运行时的内存分配有三种策略,分别是:静态的,栈式的,和堆式的. (1)静态存储分配:是 ...

  6. http协议中get和post的基本区别,tcp/ip协议的三次握手

    1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456.(注意对于用户登录来说,g ...

  7. “约见”面试官系列之常见面试题之第七十七篇之vuex中mutation和action的详细区别 (建议收藏)

    const store = new Vuex.Store({state: {count: 0},mutations: {increment (state) {state.count++}},actio ...

  8. Python中 range 和xrange的详细区别

    range     函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. range示例: >>&g ...

  9. HTTP —— HTTP 协议中的细节(超详细!!)

    JavaEE传送门 JavaEE [前端]JavaScript -- JS的基本语法之数组, 函数- [前端]JavaScript -- WebAPI 目录 HTTP 协议 抓包工具 fiddler ...

最新文章

  1. [linux][c语言]用socket实现简单的服务器客户端交互
  2. 昨天,JetBrains 推出“下一代 IDE”,快看有哪些值得期待的功能!
  3. Maven笔记(2)-- 常用命令和标准的Maven项目结构
  4. 听说你想去大厂看妹子,带你看看字节跳动产品运营岗面试是啥样?
  5. 【渝粤教育】 国家开放大学2020年春季 2411中国现代文学 参考试题
  6. 分享-利用VPC防止病毒软件的进入你的windows电脑
  7. Expected tensor for argument #1 ‘input‘ to have the same device as tensor for argument #2 ‘weight‘;
  8. 【报告分享】抖音蓝V账号定位及外化罗盘.pdf(附下载链接)
  9. 【毕业设计】 python小游戏设计 - 走迷宫游戏设计与实现
  10. 使用stm32驱动RC522读取IC卡
  11. 资源搜索神器 海量精品资源教程 大大啦啦资源神器
  12. Qt FlowLayout升级版
  13. 如何写好一份数据分析报告?
  14. hashCode() vs equals() vs ==
  15. ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
  16. Re:从零开始的DS学习之查找算法
  17. C++为什么空格无法输出_47个快捷键、50个CAD技巧,终于知道为什么别人用CAD总比我快了!...
  18. 一、万信金融项目——项目介绍
  19. 《CSS禅意花园》明日上市
  20. svg配合css3动画_如何使用CSS制作节日SVG图标动画

热门文章

  1. 深度 | 黑客 Only_Guest 讲述:如何优雅地手刃骗子?
  2. CF1550C Manhattan Subarrays(思维)
  3. 托管C++中函数调用的双重转换(Double Thunking)
  4. PyQt MCV模型绑定到配置实战
  5. OA系统----考勤管理----JDBC,Ajax
  6. 记一次Android全流程开发体验经历以及Android Studio使用【从环境搭建到项目打包发布 + 真实踩坑总结】
  7. 马尔科夫状态转移矩阵
  8. 南京邮电大学电工电子基础B实验六(组合逻辑电路)
  9. 人只剩一个心脏还能活吗
  10. YOLOv5添加自定义数据增广方法