Http中 Post和 Get的区别
1.表面上的区别
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放在RequestBody中 。
而Post和Get在本质上是没有区别的
1.Post和Get是Http协议的两种请求方式
2.Http协议是基于TCP/IP的关于数据如何在万维网中通信的协议
3.Get和Post底层都是Tcp/Ip,
4.Http是一种行为准则,定义了几个不同的服务类别,Get,Post,put,delete等,
5.Get和Post的参数限制,不同的浏览器和服务器会根据成本来限制单次传输量 。数据量太大,对浏览器和服务器都有很大负担,大部分浏览器会将url长度限制在 2K,而大多数服务器,最多处理64K大小的url。如果使用Get服务,在requestBody中隐藏数据,不同服务器处理方式不同,有的服务器会解析数据读取,有的直接忽略。即request中即便body可以加数据,但是不能保证一定被接收 。
Post和Get本质没有区别,但是因为Http规定和浏览器/服务器的限制,导致在应用过程中体现出不同。
大Boss......
Get与Post最大的区别,Get产生一个Tcp数据包,Post产生两个Tcp数据包。
1.Get方式的请求,浏览器会将http header 和date一起发送出去,服务器响应200(返回数据)
2.Post方式请求,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)
因为Post需要两步 ,所以,时间消耗多一点。
在网路环境好的情况下,发一次包和两次包,时间差别可以无视,
在网路环境差的情况下,两次请求的tcp,在数据包验证完整性上,更有优势。
并非所有浏览器用POst都发送两次,FireFox发送一次。
Http中 Post和 Get的区别的更多相关文章
- 【转】为什么我们都理解错了HTTP中GET与POST的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...
- Visual Studio 中 Build 和 Rebuild 的区别
因为之前写的程序比较小,编译起来比较快,所以一直都没有太在意 Build 和 Rebuild 之间的区别,后来发现两个还是有很大不同. Build 只针对在上次编译之后更改过的文件进行编译,在项目比较 ...
- SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别
SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别 MSSQL为我们提供了两种动态执行SQL语句的命令,分别是 EXEC 和 SP_EXECUTESQL ,我们先来看一下两种方 ...
- java集合中List与set的区别
java集合中List与set的区别. List可以存储元素为有序性并且元素可以相同. set存储元素为无序性并且元素不可以相同. 下面贴几段代码感受一下: ArrayL ...
- Java中Set Map List 的区别
java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构 ...
- oracle中函数和存储过程的区别和联系【转载竹沥半夏】
oracle中函数和存储过程的区别和联系[转载竹沥半夏] 在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,但也有自己的特点.刚学完函数和存储过程,下面来和大家分享一下自己 ...
- JS中isPrototypeOf 和hasOwnProperty 的区别 ------- js使用in和hasOwnProperty获取对象属性的区别
JS中isPrototypeOf 和hasOwnProperty 的区别 1.isPrototypeOf isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的 ...
- Java中Comparable和Comparator接口区别分析
Java中Comparable和Comparator接口区别分析 来源:码农网 | 时间:2015-03-16 10:25:20 | 阅读数:8902 [导读] 本文要来详细分析一下Java中Comp ...
- 【jQuery】【转】jQuery中的trigger和triggerHandler区别
trigger(event, [data]) 在每一个匹配的元素上触发某类事件. 这个函数也会导致浏览器同名的默认行为的执行.比如,如果用trigger()触发一个'submit',则同样会导致浏览器 ...
- 转:Java中abstract和interface的区别
转自:Java中abstract和interface的区别 abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java ...
随机推荐
- ios开发之网络php
接着前面的学习,几天上午学习了数据库网络值php用户的注册与登录,感觉代码与ios上的oc太相似了,因此学习下来没什么障碍了,下面是代码: 首先是javascript.html文件中: <!DO ...
- 利用border-radious画图形
今天才发现,border-radius可以画很多图形,下面跟我来看一下吧: 在设有宽和高的情况下画一个圆: #div1{ /*宽高相等,圆角范围为高或宽的一半或以上*/ background-colo ...
- php正则替换:
1.要求: 对于: $str = '<p></p><p style="text-indent:241px"><strong>< ...
- 【转】java中volatile关键字的含义
java中volatile关键字的含义 在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉. Java语言 ...
- LCD相关知识点
1.LCD即液晶显示器,控制原理是控制其中的电子枪,在n行*n列的屏幕上投射不同颜色从而形成图像 2.编程步骤: ①打开LCD背光将LCD背光对应的GPIO设置为禁止上拉(GPxUP相应位写入1),选 ...
- VC保存当面某个区域的图片
void ViewReportDlg::CopyScreenToBitmap() { CDC *cdc = this->GetDC(); HDC wnd = cdc->GetSafeHdc ...
- DOS命令大全!
一)MD——建立子目录 1.功能:创建新的子目录 2.类型:内部命令 3.格式:MD[盘符:][路径名]〈子目录名〉 4.使用说明: (1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前 ...
- vi学习 常用命令-新建-复制-剪切-粘贴
mkdir /home/brandon.du/desktop/mylinux/test_1.txt ---------mkdir新建文件夹 rm /home/brandon.du/desktop/ ...
- Android WebView 保存cache至External Storage
源博客: http://www.devahead.com/blog/2012/01/saving-the-android-webview-cache-on-the-sd-card/ 其中心思想是,通过 ...
- AngularJS执行流程详解
一.启动阶段 大家应该都知道,当浏览器加载一个HTML页面时,它会将HMTL页面先解析成DOM树,然后逐个加载DOM树中的每一个元素节点.我们可以把AngularJS当做一个类似jQuery的js库, ...