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的区别的更多相关文章

  1. 【转】为什么我们都理解错了HTTP中GET与POST的区别

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

  2. Visual Studio 中 Build 和 Rebuild 的区别

    因为之前写的程序比较小,编译起来比较快,所以一直都没有太在意 Build 和 Rebuild 之间的区别,后来发现两个还是有很大不同. Build 只针对在上次编译之后更改过的文件进行编译,在项目比较 ...

  3. SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别

    SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别 MSSQL为我们提供了两种动态执行SQL语句的命令,分别是 EXEC 和 SP_EXECUTESQL ,我们先来看一下两种方 ...

  4. java集合中List与set的区别

       java集合中List与set的区别.     List可以存储元素为有序性并且元素可以相同.     set存储元素为无序性并且元素不可以相同.     下面贴几段代码感受一下: ArrayL ...

  5. Java中Set Map List 的区别

    java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list   --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构 ...

  6. oracle中函数和存储过程的区别和联系【转载竹沥半夏】

    oracle中函数和存储过程的区别和联系[转载竹沥半夏] 在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,但也有自己的特点.刚学完函数和存储过程,下面来和大家分享一下自己 ...

  7. JS中isPrototypeOf 和hasOwnProperty 的区别 ------- js使用in和hasOwnProperty获取对象属性的区别

    JS中isPrototypeOf 和hasOwnProperty 的区别 1.isPrototypeOf isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的 ...

  8. Java中Comparable和Comparator接口区别分析

    Java中Comparable和Comparator接口区别分析 来源:码农网 | 时间:2015-03-16 10:25:20 | 阅读数:8902 [导读] 本文要来详细分析一下Java中Comp ...

  9. 【jQuery】【转】jQuery中的trigger和triggerHandler区别

    trigger(event, [data]) 在每一个匹配的元素上触发某类事件. 这个函数也会导致浏览器同名的默认行为的执行.比如,如果用trigger()触发一个'submit',则同样会导致浏览器 ...

  10. 转:Java中abstract和interface的区别

    转自:Java中abstract和interface的区别 abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java ...

随机推荐

  1. QM UML状态机建模实例之Blinky for cortex-m0

    简介:QP由Quantum Leaps公司开发异于传统顺序式系统(前后台架构即main+ISR)和传统多任务系统(操作系统)的事件驱动型状态机框架,实现了在C语言下的面向对象编程,该框架支持有限状态机 ...

  2. # mysql -u root -p -bash: mysql: command not found

    [root@jboss ~]# mysql -u root -p-bash: mysql: command not found 需要安装mysql # yum install mysql之后就行 了

  3. Android 标题栏菜单设置与应用(popupWindow的应用)

    效果图

  4. OpenCV阶段总结扩充。

    Mat类型简单介绍 /* cv::Mat类是用于保存图像以及其他矩阵的数据结构.默认情况下,其尺寸为0,我们也可以设置其初始尺寸,比如定义一个Mat类的对象,就要写cv::Mat pic(320,64 ...

  5. MyEclipse 10.7.1 最新版官网下载地址

    MyEclipse 10.7.1(Windows): http://downloads.myeclipseide.com/downloads/products/eworkbench/indigo/in ...

  6. 10大白帽黑客专用的 Linux 操作系统

    原文出处: Irshad Pathoor   译文出处:Linux中国   欢迎分享原创到伯乐头条 今天让我们来介绍十个黑客专用的操作系统,它们被白帽黑客用作渗透测试的工具.这里我把 Kali Lin ...

  7. Cosh.3

    查壳.没有 拖 OD 查找字符串 找到有用的东西   顺线往上看       找到  大概算入口处  下断 就从这里开始  单步下去吧 name的变幻 Serial的变幻 直接翻译出来了   继续看看 ...

  8. 关于ajax请求返回类型问题

    昨天遇到一个问题,是关于请求到的json数据没有正确渲染,打开谷歌调试器里面的network中的response,看到的是正常返回的json数据,打开json.cn,复制返回的数据,也能正常解析,但是 ...

  9. 调试python程序

    pdb 关键步骤 python -m pdb ***.py n 单步

  10. go语言文件操作,这期资料比较详细( 欢迎加入go语言群: 218160862 )

    go语言文件操作,这期资料比较详细 欢迎加入go语言群: go语言深圳群 golang深圳 218160862 点击加入 文件操作 func Open(name string) (file *File ...