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. 野心勃勃的React组件生命周期

    当你还在写着Angular指令,过滤器,注入,服务,提供者,视图模版的时候,是不是觉得很烦,好在这个时候,React已经神一样的出现在历史舞台. React组件    React实现了UI=Fn(St ...

  2. 百度star编程赛-练习1

    ztr loves math http://acm.hdu.edu.cn/showproblem.php?pid=5675 显然:4 ^ n * (a + b) * (a -b) #include & ...

  3. Python学习路程CMDB

    本节内容 浅谈ITIL CMDB介绍 Django自定义用户认证 Restful 规范 资产管理功能开发 浅谈ITIL TIL即IT基础架构库(Information Technology Infra ...

  4. windows下scrapy安装

    C:\users\XXXX>easy_install scrapy 出现错误 fatal error C1083: Cannot open include file: 'openssl/aes. ...

  5. 第一次用Axure~

    刚刚接触axure感觉好多不会呢~但是一步一步来吧~ 操作到后来发现字体的变化很奇怪,总是只有一个字体出现,只有在编辑时才出现我设定的字体. 但最后还是有个样子出来了~做了一个联系的新页面 最后学姐又 ...

  6. [驱动开发] struct _LDR_DATA_TABLE_ENTRY

    @Windows XP Professional Service Pack 3 (x86) (5.1, Build 2600) lkd> dt -b _LDR_DATA_TABLE_ENTRY ...

  7. c# 常量,变量

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  8. NSUserDefaults

    一.了解NSUserDefaults以及它可以直接存储的类型二.使用 NSUserDefaults 存储自定义对象1.将自定义类型转换为NSData类型2.将自定义类型数据存入 NSUserDefau ...

  9. 最近开发的ECG项目

    最近参与公司开发了一款读取ECG心电接口程序 原理就是通过心电设备读取患者的心电数据 并生成ECG文件 然后通过ECG客户端程序读取ECG文件 并解析转换成图片 上传至服务器 下边是客户端程序截图 客 ...

  10. ife2015-task2

    html部分: <!DOCTYPE html><html><head lang="en"> <meta charset="UTF ...