zoukankan      html  css  js  c++  java
  • 浅谈HTTP中Get与Post的区别

    Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GETPOSTPUTDELETEURL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GETPOSTPUTDELETE就对应着对这个资源的4个操作。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。

    1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的

     (1).幂等的意味着对同一URL的多个请求应该返回同样的结果

    2根据HTTP规范,POST表示可能修改变服务器上的资源的请求

    注意:a..GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII

      b.POST把提交的数据则放置在是HTTP包的包体中。

            c.关于数据长度的限制:

         (1).首先是"GET方式提交的数据,这个限制是特定的浏览器及服务器对它的限制。IEURL长度的限制是2083字节(2K+35)。对于其他浏览器,如NetscapeFireFox等,理论上没有长度限制,其限制取决于操作系统的支持。

      (2).理论上讲,POST是没有大小限制的HTTP协议规范也没有进行大小限制,说“POST数据量存在80K/100K的大小限制是不准确的,POST数据是没有限制的,起限制作用的是服务器的处理程序的处理能力。

      对于ASP程序,Request对象处理每个表单域时存在100K的数据长度限制。但如果使用Request.BinaryRead则没有这个限制。

      由这个延伸出去,对于IIS 6.0,微软出于安全考虑,加大了限制。我们还需要注意:

         1).IIS 6.0默认ASP POST数据量最大为200KB,每个表单域限制是100KB
         2).IIS 6.0默认上传文件的最大大小是4MB
         3).IIS 6.0默认最大请求头是16KB

    3.POST的安全性要比GET的安全性高。注意:这里所说的安全性和上面GET提到的安全不是同个概念。

      总结一下,Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method默认为"GET",实质上,GETPOST只是发送机制不同,并不是一个取一个发!

     

     

    博客:https://kunnan.blog.csdn.net
  • 相关阅读:
    BZOJ 3629 JLOI2014 聪明的燕姿 约数和+DFS
    [BZOJ3594] [Scoi2014]方伯伯的玉米田 二维树状数组优化dp
    BZOJ 3319 黑白树 并查集+线段树
    BZOJ 2500 幸福的道路(race) 树上直径+平衡树
    BZOJ1875: [SDOI2009]HH去散步 图上边矩乘
    【BZOJ3887】【Usaco2015 Jan】Grass Cownoisseur Tarjan+Spfa
    NOIP2010 引水入城 贪心+DFS
    【BZOJ3038】上帝造题的七分钟2 线段树
    COGS 930. [河南省队2012] 找第k小的数 主席树
    BZOJ2631 tree(伍一鸣) LCT 秘制标记
  • 原文地址:https://www.cnblogs.com/zhang_kun_nan/p/3636514.html
Copyright © 2011-2022 走看看