zoukankan      html  css  js  c++  java
  • 三方面搞定http协议之“请求方法”

      我所熟知的请求方法一共有六种:

      GET 请求指定的页面信息,并返回实体主体。

      POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)

      PUT 从客户端向服务器传送的数据取代指定的文档的内容。

      DELETE 请求服务器删除指定的页面

      HEAD 返回的响应中的报头

     OPTIONS 查看服务器的性能
     
    而我们平时最常接触的,就是前三种:GET,POST,PUT。关于get和post的区别,post和put的区别的讨论,一直都是http请求方法中无法回避的问题。
    现在,我们就深入地探究一下第一个问题:

    GET和POST有何区别?
    1,GET用于向服务器查询数据,而POST用于更新服务器的数据;
    2,GET传输数据较小,而POST传输数据较大;(因为浏览器地址栏对URL的长度是有限制的,而GET请求的数据正是作为search参数嵌在URL中,所以它的请求数据会受到影响;
    而POST呢?它请求的数据是放在请求报文的主体中的,并不受影响,所以传输数据较大)
    3,POST比GET更安全。(正如2所解释的那样,因为GET请求的数据是放在URL中的,而URL是会显示在地址栏的,用户看不到报文的主体内容,但会轻易注意到地址栏,所以如果
    GET请求的数据包括一些用户名密码之类的敏感信息,那就真的很不安全了)

    没错,这就是GET和POST的真正区别了,接下来看第二个历史大问题:POST和PUT的区别

    POST和PUT区别在哪里?
    根本区别-->POST方法不是幂等的,而PUT方法是幂等的。
    所以这个“幂等”是什么鬼?简单来说,幂等就是“无论你操作多少次,都是操作在一个对象上”,所以PUT方法操作在原来的对象上,是对原来已存在的对象的更新;而POST
    是创造一个新对象,并把这个新对象加到服务器里。
      就比如我现在写了一篇新博客,要提交上去,就应该用POST,因为我这个是新博客嘛,跟原来的博客没关系,属于新增的对象;而我写完这篇博客后发现有错别字,然后我
    进行修改,修改好后再提交上去,这时候就应该用PUT,因为我只是想对原来这篇博客进行小小的修改更新罢了。
    体会一下。
  • 相关阅读:
    理解C语言中指针常量和常量指针区别!不要再搞混了~
    哪座城市可以安放程序员的灵魂,一线城市与二三线城市该如何择别?
    Linux 之父如何定义 "Linux" !主要想让黑客、计算机学生使用,学习和享受!
    程序员的凡尔赛文学!作为低调人群的程序员,“凡”起来又是怎样的一番景象呢?
    40个Java集合面试问题和答案
    从关系型数据库到非关系型数据库
    redis安装报错
    redis简介
    不满足依赖关系
    EL表达式中引用隐式变量
  • 原文地址:https://www.cnblogs.com/zhangnan35/p/8597626.html
Copyright © 2011-2022 走看看