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方式 

    佛为心,道为骨,儒为表,大度看世界; 技在手,能在身,思在脑,从容过生活; 三千年读史,不外功名利禄; 九万里悟道,终归诗酒田园;
  • 相关阅读:
    windows下使用curl命令,以及常用curl命令
    使用 C# 下载文件的十八般武艺
    初闻不知曲中意,再听已是曲中人
    从线性回归走进机器学习
    自定义Vue&Element组件,实现用户选择和显示
    ARP协议原理——地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址,ARP整个完整交互过程仅需要两个包,一问一答即可搞定
    SSH加密隧道流量攻击与检测技术——这玩意和思科加密流量检测没有本质区别啊,可借鉴CNN图像
    bt2——基于telegram的C2
    通过gmail进行C2控制——看了下源码,本质上和dropbox c2架构一样,都是去轮训邮件,将c2攻击的东西以邮件形式发送,结果也发到邮箱里
    DropboxC2 工具原理总结——就是通过dropbox文件来间接做c2控制和交互。
  • 原文地址:https://www.cnblogs.com/taofx/p/4139290.html
Copyright © 2011-2022 走看看