zoukankan      html  css  js  c++  java
  • 【HTTP】GET和POST的区别

    【HTTP】GET和POST的区别 
     
      HTTP定义了与服务器交互的不同方法,最基本的方法有四种:GET、POST、PUT、DELETE。
      URL全程是资源描述符,用于描述网上的资源。以上四种方式就是对资源的查、改、增、删的操作。

      【HTTP是如何规范的?】
      GET:查询/获取,不会影响资源的状态
      POST:更新资源
      PUT:增加
      DELETE:删减

      【实际中是如何使用的?】
      GET:查询/获取、修改资源
      POST:更新资源
      PUT:很少使用
      DELETE:很少使用
      GET和POST并不是一个取一个发,本质上只是发送机制不同
          查改增删的动作都可以通过GET/POST方式完成,不需要PUT和DELETE

      【实际使用与规范出现不一致的原因是什么?】

       PUT和DELETE很少使用的原因是:
          早期的Web MVC框架设计者们并没有意识到将URL当作抽象的资源来看待和设计,
          所以导致一个比较严重的问题是传统的Web MVC框架基本上都只支持GET和POST两种HTTP方法,
          而不支持PUT和DELETE方法。

      【GET和POST的区别是什么?】
      1. 各自所在的位置 
        (1)GET在URL中:
            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
        
         (2)POST通过form提交,提交的数据则放置在是HTTP包的包体中,不会在URL中显式呈现

      2.  大小限制
         GET
         (1)HTTP规范中:  HTTP规范中并没有规定URL的长度限制,GET的数据在URL中,因此GET的数据量直接影响URL的长度,
                    故规范并没有限制GET数据量的多少
         (2)实际中:      限制主要是浏览器和服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,
                     如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。
         POST
         (1)HTTP规范中:  没有限制POST数据的大小
         (2)实际中:     限制主要是服务器处理数据的能力


      3.  安全性
          POST比GET的安全性高,表现在:
          (1)GET数据之间显示在URL上,因为(1)登录页面有可能被浏览器缓存,(2)其他人查看浏览器的历史纪录,
            那么别人就可以拿到你的账号和密码了
          (2)使用GET提交数据可能会造成Cross-site request forgery攻击
      
      【另外】
      FORM提交数据的方式的method是GET方式 

    佛为心,道为骨,儒为表,大度看世界; 技在手,能在身,思在脑,从容过生活; 三千年读史,不外功名利禄; 九万里悟道,终归诗酒田园;
  • 相关阅读:
    Deep Learning ——Yann LeCun,Yoshua Bengio&Geoffrey Hinton
    numpy模块
    损失函数、正则化、优化
    最近邻分类器,K近邻分类器,线性分类器
    python json,pickle模块
    python os,sys模块
    python random模块
    到2030年,人工智能会发展成什么样?
    AI的偏见:机器就是绝对理性的么?
    5G和AI:现在和未来的互补技术
  • 原文地址:https://www.cnblogs.com/taofx/p/4139290.html
Copyright © 2011-2022 走看看