【HTTP】get 和 post 两种基本请求方法
根据HTTP标准,HTTP请求可以使用多种请求方法。
HTTP1.0定义了三种请求方法:Get,Post 和 Head方法
HTTP1.1新增了五种请求方法:Options,Put,Delete,Trace和Connect
HTTP Request Method方法
共计8种:
【以上内容来自W3Cschool】
常用的两种请求方式就是我们常说的Post,Get请求方法。
Post请求和Get请求区别:
- Get在浏览器回退时不重复提交请求,而Post会再次提交请求。
- Get产生的URL地址可以被Bookmark,而Post不可以。
- Get请求会被浏览器主动Cache,而post不会,除非手动设置。
- Get请求只能进行url编码,而post支持多种编码方式。
- Get请求参数被毁完整保留在浏览器历史记录里,而Post中的参数不会被保留。
- Get请求在url中传递的参数是有长度限制的,而Post没有。
- 对参数的数据类型,Get只接受ASCII字符,而Post没有限制。
- Get比Post更不安全,因为Get会把信息暴露在URL上,所以不能用来传送敏感信息。
- 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 两种基本请求方法相关推荐
- GET和POST两种基本请求方法的区别
GET和POST两种基本请求方法的区别 回退 回退时无害 会再次提交请求 记录 URL可被记录, 用于再访问 不可以 缓存 主动缓存 可手动设置 编码方式 只进行url编码 多种编码方式 参数长度 有 ...
- 史上最容易理解————GET和POST两种基本请求方法的区别
GET和POST两种基本请求方法的区别 GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过req ...
- 两种 HTTP 请求方法
两种 HTTP 请求方法:GET 和 POST 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST. GET - 从指定的资源请求数据. POST - 向指定的资源提交 ...
- 面试:GET和POST两种基本请求方法有什么区别
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | r6d.cn/j26B 1024 致敬极客精神 ...
- firefox 接受post 不完整_面试官想听到的GET和POST两种基本请求方法的区别
前言 HTTP定义了与服务器交互的不同方法,最常用的方法有四种Put,Delete.post,get,即增删改查. 1.Get,它用于获取信息,它只是获取.查询数据,也就是说它不会修改服务器上的数据, ...
- GET和POST两种基本请求方法的区别(截取自https://www.cnblogs.com/logsharing/p/8448446.html)
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 表单提交中get和post方式的区别有5点 1.get是从服务器上获取数据,post是向服务器传送数据 ...
- (转载)GET和POST两种基本请求方法的区别
转自https://www.cnblogs.com/logsharing/p/8448446.html 作者:在途中# GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发 ...
- 307 跳转会携带请求方法吗_面试官:GET和POST两种基本请求方法有什么区别
点击上方蓝色"后端面试那些事儿",选择"设为星标" 学最好的别人,做最好的我们 来源:r6d.cn/j26B GET和POST是HTTP请求的两种基本方法,要说 ...
- GET和POST两种基本请求方法的区别(转载)
get与post请求的区别: 通常回答: GET在浏览器回退时是无害的,而POST会再次提交请求.GET产生的URL地址可以被Bookmark,而POST不可以.GET请求会被浏览器主动cache,而 ...
- 面试官:GET和POST两种基本请求方法有什么区别
点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 来源:r6d.cn/j26B GET和POST是HTTP请求的两种基本方法 ...
最新文章
- 如何用数据结构解释计算机系统 常用数据结构
- 【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和普通变量之完全解读...
- opencv图像清晰度计算_收藏|分析君带你认识Python中的十大图像处理工具
- 二十四、数据挖掘时序模式
- 文献记录(part17)--VARCLUST: clustering variables using dimensionality reduction
- 如何利用Excel进行同类项合并?
- 【注意力机制】SENet(Squeeze-and-Excitation Networks)详解
- 亲密关系-【有效表达】-如何完善自己的表达思路?
- 3D应用开发中的欧拉角和旋转矩阵
- Newton迭代法求无约束目标函数极小值matlab实现
- oracle 脚本怎么写,wincc与 oracle 数据通讯脚本如何写-工业支持中心-西门子中国...
- 像中文的罗马音字体复制_帮我把日语的罗马音弄成汉字!
- Python爬虫进行Web数据挖掘总结和分析
- 使用 busybox 为 龙芯2f 创建 文件系统
- 决策树分类算法(包含隐形眼镜分类的代码)
- 统计学中相关数学符号、希腊字母的标准读法
- 电脑ping手机查看ARP抓包
- c#推箱子小游戏代码_C语言实现推箱子小游戏
- 云测试平台推荐与简单比较
- glut linux 安装包,“包GLUT不存在”,即使安装在Arch Linux的CL-的OpenGL