根据HTTP标准,HTTP请求可以使用多种请求方法。
HTTP1.0定义了三种请求方法:Get,Post 和 Head方法
HTTP1.1新增了五种请求方法:Options,Put,Delete,Trace和Connect

HTTP Request Method方法

共计8种:

【以上内容来自W3Cschool】

常用的两种请求方式就是我们常说的Post,Get请求方法。

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更不安全,因为Get会把信息暴露在URL上,所以不能用来传送敏感信息。
  9. Get参数通过URL传递,而Post是放在Requset body中。

上面这些都是一些比较官方的解释。从本质上来说,Get和Post请求并没有区别,它们只不过是HTTP协议中两种不同的发送请求的方式而已。

HTTP底层遵循的协议是TCP/IP协议,所以Get和Post请求也遵循TCP/IP协议。也就是说,Get和Post都是TCP链接。

TCP就像交通工具一样,用来运输东西,TCP用来传输数据,在传输数据过程中,要经过三次握手,所以它是相对(UDP)安全的。在交通工具中,由于要在不同的环境中使用,所以会有天上飞的/陆上跑的/水里游的。在同一环境下也会有多种类型的交通工具。比如有装载货物的大/小货车,有装载人的大/小客车,汽车等。不同的交通工具会被贴上不同的标签,在HTTP请求方式中,根据用途不同,也会有不同的标签,这些被贴上的标签,就是用来识别这些请求方式的。所以Post和Get请求本质上都是基于TCP/IP协议,用于传输数据;只不过就是传输数据的方式是不同。就像我们从公司回到家里一样,可以步行/骑电车/自驾,目标都是家,只是回到家的方式不同罢了。不同的方式有它自己独特的特点,优势与劣势等。

除了上面说到的这些,Get和Post请求还有一个重要的区别:Get产生一个TCP数据包,Post产生两个TCP数据包。

在Get请求方式中,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);而对于Post,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。也就是说,如果用一辆货车从甲地往乙地运送一车货物,采用Get运送方式,货车会带着命令-乙呀,我要给你一车财富哦,并且在甲地装上货物,开往乙地,到达乙地后,乙给出应答。而采用Post运送方式,货车会先带着命令开往乙地,把请求-给你一车财富 告诉乙,此时要接收乙的反馈信息,然后再回到甲地装上财富,开往乙地,乙给出应答。

在网络良好情况下,两种请求方式的时间差并不大,而在网络环境较差的情况下,两次数据包的TCP(Post请求方式)能够很好的验证数据的完整性。

由于HTTP的规定和浏览器/服务器的不同,Get和Post请求在数据传送过程中可能会有一些不同。

【HTTP】get 和 post 两种基本请求方法相关推荐

  1. GET和POST两种基本请求方法的区别

    GET和POST两种基本请求方法的区别 回退 回退时无害 会再次提交请求 记录 URL可被记录, 用于再访问 不可以 缓存 主动缓存 可手动设置 编码方式 只进行url编码 多种编码方式 参数长度 有 ...

  2. 史上最容易理解————GET和POST两种基本请求方法的区别

    GET和POST两种基本请求方法的区别 GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过req ...

  3. 两种 HTTP 请求方法

    两种 HTTP 请求方法:GET 和 POST 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST. GET - 从指定的资源请求数据. POST - 向指定的资源提交 ...

  4. 面试:GET和POST两种基本请求方法有什么区别

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | r6d.cn/j26B 1024 致敬极客精神 ...

  5. firefox 接受post 不完整_面试官想听到的GET和POST两种基本请求方法的区别

    前言 HTTP定义了与服务器交互的不同方法,最常用的方法有四种Put,Delete.post,get,即增删改查. 1.Get,它用于获取信息,它只是获取.查询数据,也就是说它不会修改服务器上的数据, ...

  6. GET和POST两种基本请求方法的区别(截取自https://www.cnblogs.com/logsharing/p/8448446.html)

    GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 表单提交中get和post方式的区别有5点 1.get是从服务器上获取数据,post是向服务器传送数据 ...

  7. (转载)GET和POST两种基本请求方法的区别

    转自https://www.cnblogs.com/logsharing/p/8448446.html  作者:在途中# GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发 ...

  8. 307 跳转会携带请求方法吗_面试官:GET和POST两种基本请求方法有什么区别

    点击上方蓝色"后端面试那些事儿",选择"设为星标" 学最好的别人,做最好的我们 来源:r6d.cn/j26B GET和POST是HTTP请求的两种基本方法,要说 ...

  9. GET和POST两种基本请求方法的区别(转载)

    get与post请求的区别: 通常回答: GET在浏览器回退时是无害的,而POST会再次提交请求.GET产生的URL地址可以被Bookmark,而POST不可以.GET请求会被浏览器主动cache,而 ...

  10. 面试官:GET和POST两种基本请求方法有什么区别

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 来源:r6d.cn/j26B GET和POST是HTTP请求的两种基本方法 ...

最新文章

  1. 如何用数据结构解释计算机系统 常用数据结构
  2. 【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和普通变量之完全解读...
  3. opencv图像清晰度计算_收藏|分析君带你认识Python中的十大图像处理工具
  4. 二十四、数据挖掘时序模式
  5. 文献记录(part17)--VARCLUST: clustering variables using dimensionality reduction
  6. 如何利用Excel进行同类项合并?
  7. 【注意力机制】SENet(Squeeze-and-Excitation Networks)详解
  8. 亲密关系-【有效表达】-如何完善自己的表达思路?
  9. 3D应用开发中的欧拉角和旋转矩阵
  10. Newton迭代法求无约束目标函数极小值matlab实现
  11. oracle 脚本怎么写,wincc与 oracle 数据通讯脚本如何写-工业支持中心-西门子中国...
  12. 像中文的罗马音字体复制_帮我把日语的罗马音弄成汉字!
  13. Python爬虫进行Web数据挖掘总结和分析
  14. 使用 busybox 为 龙芯2f 创建 文件系统
  15. 决策树分类算法(包含隐形眼镜分类的代码)
  16. 统计学中相关数学符号、希腊字母的标准读法
  17. 电脑ping手机查看ARP抓包
  18. c#推箱子小游戏代码_C语言实现推箱子小游戏
  19. 云测试平台推荐与简单比较
  20. glut linux 安装包,“包GLUT不存在”,即使安装在Arch Linux的CL-的OpenGL

热门文章

  1. macos spotlight can not search app
  2. Python学习之urlib模块和urllib2模块学习
  3. Cubieboard:享誉国外 Linux 圈子的中国产品
  4. 单片机IO口模拟串口程序(发送+接收
  5. mysql的事务操作
  6. flask的上下文的机理与应用(转载+整理)
  7. Package 'xxxx' is not installed, so not removed
  8. trust cv的含义
  9. 快速筛选数据集中某列特征符合某种规律的所有数据集
  10. 使用intellij查看scala变量的具体类型