网上对与HTTP的Method,GET和POST的区别,说得毕竟详细。然后提到一点,说浏览器对两者的还有一个比较容易让人忽略的区别就是:POST会分2次发送,而GET只1次。

GET发送1次,这个没什么好说的。然后对于POST,做了个测试,结果如下:

IE11浏览器【11.0】,分2次发送
Opera浏览器【49.0.2725.47】,分1次发送
Chrome浏览器【64.0.3282.119(正式版本) (64 位)】,分2次发送
Firefox【57.0.4 (64 位)】,1次发送
Safari【5.1.7】,2次发送

有的文章说,POST要请求2次,其实这应该是不准确的说法,请求依然是1次,只是分别发送了请求Header和Body。

对于服务器(nginx),日志是这样的,都是1次请求:

27.10.68.64 - - [23/Feb/2018:11:01:32 +0800] "POST //likeme/t.php HTTP/1.1" 200 29 "http://play.whatmiss.com//likeme/" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko" "-"
27.10.68.64 - - [23/Feb/2018:11:01:38 +0800] "POST //likeme/t.php HTTP/1.1" 200 29 "http://play.whatmiss.com//likeme/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36 OPR/49.0.2725.47" "-"
27.10.68.64 - - [23/Feb/2018:11:01:41 +0800] "POST //likeme/t.php HTTP/1.1" 200 29 "http://play.whatmiss.com//likeme/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2" "-"
27.10.68.64 - - [23/Feb/2018:11:01:45 +0800] "POST //likeme/t.php HTTP/1.1" 200 29 "http://play.whatmiss.com//likeme/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0" "-"
27.10.68.64 - - [23/Feb/2018:11:01:51 +0800] "POST //likeme/t.php HTTP/1.1" 200 29 "http://play.whatmiss.com//likeme/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.119 Safari/537.36" "-"

网络资源:

99%的人理解错 HTTP 中 GET 与 POST 的区别: https://www.oschina.net/news/77354/http-get-post-different

不同浏览器发送POST请求分包情况比较: http://blog.csdn.net/someonelikesyou/article/details/8078380

HTTP1.1协议中文版-RFC2616: http://www.cnblogs.com/k1988/archive/2010/01/12/2165683.html

详细截图如下:

IE11浏览器【11.0】,分2次发送:

Opera浏览器【49.0.2725.47】,分1次发送:

Chrome浏览器【64.0.3282.119(正式版本) (64 位)】,分2次发送:

Firefox【57.0.4 (64 位)】,1次发送:

Safari【5.1.7】,2次发送:

关于对浏览器发送POST请求的一点研究的更多相关文章

  1. java 模拟浏览器发送post请求

    java使用URLConnection发送post请求 /** * 向指定 URL 发送POST方法的请求 * * @param url * 发送请求的 URL * @param param * 请求 ...

  2. http请求及模拟浏览器发送http请求

    /**    *测试新增图片   * @throws IOException    * @throws HttpException    * @throws SAXException    * @th ...

  3. 微信浏览器发送ajax请求执行多次解决方法

    http://www.cnblogs.com/whatlonelytear/p/8934738.html

  4. ajax是怎么发请求的和浏览器发的请求一样吗?cookie

    下午设置cookie时出现了个问题 用ajax发的post请求php,在php的方法里设置了cookie,然后在浏览器请求的php里打印cookie值但是一直获取不到cookie的值 分析: 1.aj ...

  5. C++发送HTTP请求---亲测可行(转)

    转自:http://hi.baidu.com/benbearlove/item/1671c23017575825b3c0c53f 环境:xp sp3,vs2008,在静态库中使用 MFC #inclu ...

  6. Django学习系列10:保存用户输入——编写表单,发送POST请求

    要获取用户输入的待办事项,发送给服务器,这样才能使用某种方式保存待办事项,然后在显示给用户查看. 上次运行测试指出无法保存用户的输入.现在,要使用HTML post请求. 若想让浏览器发送POST请求 ...

  7. Fiddler5 发送HTTP请求

    1.Fiddler Composer发送HTTP请求 Composer的编辑模式主要有2种:Parsed模式和Raw模式. 实例1:Composer发送get请求 实例2:Composer发送post ...

  8. 转 Fiddler5 发送HTTP请求

    Fiddler5 发送HTTP请求  文章转自:https://www.cnblogs.com/zhengna/p/10879573.html 1.Fiddler Composer发送HTTP请求 C ...

  9. [基础架构]PeopleSoft工作原理(从浏览器发送请求开始)

    PeopleSoft体系结构是由几大组成部分构成,之前文章已经详细讲过,了解这几大组成部分是怎么协同工作的更为重要.在本文中将帮助您了解PeopleSoft的工作原理以及用户发送的请求是如何被解析以及 ...

随机推荐

  1. 基于vue框架手写一个notify插件,实现通知功能

    简单编写一个vue插件,当点击时触发notify插件,dom中出现相应内容并且在相应时间之后清除,我们可以在根组件中设定通知内容和延迟消失时间. 1. 基础知识 我们首先初始化一个vue项目,删除不需 ...

  2. Python和Java编程题(二)

    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21 ...

  3. 共享内存 - shmget填坑记

    1. 问题引出 最近有个项目,需要两个进程之间传递大量的数据,因此考虑采用了共享 内存机制+信号同步,两个进程,笔者和另外一程序员开发,协议都定好了,开发很顺利. 等到我们联合调试的时候,问题出现了, ...

  4. 关于SVN 操作 提示文件已过时,请先update

    提示文件已过时,请先update 错误产生原因:修改文件前没有先update,从svn获取该文件的最新版本. 解决方法:备份你修改后的文件,通过Revert恢复到服务器版本后,再比较之前备份的文件,进 ...

  5. “未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序”问题的解决

    发布到win7 64位旗舰版iis上时,报:“未能加载文件或程序集“BC.Common”或它的某一个依赖项.试图加载格式不正确的程序”. 该DLL的本地复制没有设置为true(在项目引用里找到该引用, ...

  6. struts2、hibernate以及spring是如何配置的

    第一次使用这3大框架进行网站编写的人没有一个清楚的流程,建起网站来会比较头疼,今天来讲讲3大框架的配置 基本流程: 用户点击页面之后,服务器收到一个请求,请求经过web.xml的拦截器过滤后进入act ...

  7. IdentityServer4-客户端定义-翻译

    客户端定义(Defining Client) 客户端可以从你的IDS服务器请求tokens. 通常,客户端需要遵循下面的通用设置: 一个唯一的Client ID 如果需要还可以提供密码 允许与toke ...

  8. 学Java的第17天。呃。。。今天有点奇葩

    神奇的老师在网上看到狗跳楼的视频然后就想到抛物线问题: 还是 属性和方法的调用: package sklx; public class Dog{ private float v = 30.0f; pr ...

  9. elasticsearch6.7 05. Document APIs(8)Multi Get API

    7.Multi Get API(Multi Get API) multi GET API 允许你一次性获取多个文档,你需要指定docs数组,其中包含了所有你需要查询的文档,每个查询结构至少包含索引,类 ...

  10. Centos7 firewalld 基本使用

    Centos7 的防火墙 firewalld比较常见 简单介绍使用 详细介绍链接推荐:   https://blog.csdn.net/buster_zr/article/details/806049 ...