zoukankan      html  css  js  c++  java
  • get和post的区别

    第一种说法:

           get是用于获取数据的;post一般用于将数据发给服务器之用。

    第二种说法:最普遍的答案--------(这只是HTML标准对HTTP协议的用法有约定。)

          1、GET使用url或Cookie传参。而POST将数据放在BODY中。

         2、GET的URL会有长度上的限制,而POST的数据则可以非常大。

         3、POST比GET更安全,因为数据在地址栏上不可见。

    正确的是:GET和POST与数据如何传递没有关系。GET和POST是有HTTP协议定义的。在HTTP协议中,Method和Data(URL,Body,Header)是正交的两个概念,也就是说,使用哪个Method与应用层的数据如何传输是没有相互关系的。

          HTTP没有要求,如果Method是POST数据就要放在BODY中。也没有要求,如果Method是GET,数据(参数)就一定要放在URL中而不能放在BODY中。

    现代的Web Server都是支持GET中包含BODY这样的请求。虽然这种请求不可能从浏览器发出,但是现在的Web Server又不是只给浏览器用,已经完全超出了HTML服务器的范畴。

         HTTP协议对GET和POST都没有对长度的限制,HTTP协议明确地指出了,HTTP头和body都没有长度的要求,而对于URL长度上的限制,主要有两方面的原因:

      1. 浏览器。因为早期的浏览器会对URL长度做限制。(行内人士认同:IE对URL长度会限制在2048个字符内)

     2. 服务器。URL太长,对服务器处理也是一种负担。原本一个会话的没有多少数据,现在如果有人恶意的构造几个几M大小的URL,并不停地访问你的服务器。服务器的最大并发数显然会下降。另一种攻击方式是,把告诉服务器Content-Length是一个很大的数,然后只给服务器发一点数据

    安全不安全跟GET、POST是没有关系的。

         

           

  • 相关阅读:
    自定义Behavior 实现Listbox自动滚动到选中项
    MVVM RelayCommand 进阶技巧 CanExcute 的使用
    通过ListItem找到相应控件
    使用VS2010调试WPF/SL/WP7设计器界面异常
    代码管理技巧——两步创建本地SVN服务器图文教程
    基于云的商务智能应该注意的事项
    双击不能打开Qlikview的解决办法
    上海天善商业智能BI培训~第四季
    上海天善商业智能培训课程安排
    用java和olap4j从SSAS中获取数据
  • 原文地址:https://www.cnblogs.com/wangshichuan/p/3995556.html
Copyright © 2011-2022 走看看