首页 技术 正文
技术 2022年11月11日
0 收藏 513 点赞 3,507 浏览 1396 个字

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

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,157
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,625
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,469
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,241
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,878
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,044