zoukankan      html  css  js  c++  java
  • 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发送一次。

  • 相关阅读:
    时间转换成时间戳
    元字符为名称的时候,使用两个反斜杠转义:\
    批量修改文件夹及文件用户权限和用户组权限 centos
    HDU6797 多校第三场 Tokitsukaze and Rescue
    AtCoder Regular Contest 103 E
    2020牛客第六场 B题 Binary Vector
    Codeforces Round #659 (Div. 2) B1. Koa and the Beach (Easy Version)
    Codeforces Round #659 (Div. 2) C. String Transformation 1
    Codeforces Round #659 (Div. 2) D GameGame
    P3194 [HNOI2008]水平可见直线 计算几何栈维护下凸壳
  • 原文地址:https://www.cnblogs.com/sujingnuli/p/5892285.html
Copyright © 2011-2022 走看看