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

  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,因为我只是想对原来这篇博客进行小小的修改更新罢了。
体会一下。

三方面搞定http协议之“请求方法”的更多相关文章

  1. 三方面搞定http协议之“报文模型”

    关于http协议,这一块的知识其实相当大,但是作为一个前端开发者来说,我觉得只要知道三方面的内容就足矣把http协议是个什么东西解释清楚了.而这三方面,就是http的报文模型,请求方式以及状态码. 这 ...

  2. 三方面搞定http协议之“状态码”

    当我们向服务器请求数据的时候,服务器会给我们一个反馈,告诉我们对待我们的请求,服务器处理得怎么样了,而这个反馈,是通过数字来传达的,这个数字就叫状态码. 状态码分为以下几种: 1xx:指示信息--表示 ...

  3. iOS开发三步搞定百度推送

    iOS开发三步搞定百度推送   百度推送很简单,准备工作:在百度云推送平台注册应用,上传证书. 步骤一: 百度云推送平台 http://push.baidu.com/sdk/push_client_s ...

  4. windows+mysql集群搭建-三分钟搞定集群

    注:本文来源:  陈晓婵   <  windows+mysql集群搭建-三分钟搞定集群   > 一:mysql集群搭建教程-基础篇 计算机一级考试系统要用集群,目标是把集群搭建起来,保证一 ...

  5. 转:解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别

    解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别 标准Http协议支持六种请求方法,即: 1.GET 2.POST 3.PUT 4.Delete 5.HEAD ...

  6. Spring Boot 集成 Ehcache 缓存,三步搞定!

    作者:谭朝红 www.ramostear.com/articles/spring_boot_ehcache.html 本次内容主要介绍基于Ehcache 3.0来快速实现Spring Boot应用程序 ...

  7. HTTP协议扫盲(二)HTTP协议的请求方法、请求头和响应头

    一.HTTP请求方法 Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST ...

  8. 几周内搞定Java的10个方法

    不要将Java与JavaScript弄混了,Java的目标是“一次编译,到处调试”(呃,不对,是“到处运行”).简单来说,就是Java程序可以直接在任何设备上运行. Java语言是什么? 不管我们是否 ...

  9. 浅谈http协议六种请求方法,get、head、put、delete、post、options区别

    标准Http协议支持六种请求方法,即: 1.GET 2.POST 3.PUT 4.Delete 5.HEAD 6.Options 但其实我们大部分情况下只用到了GET和POST.如果想设计一个符合RE ...

随机推荐

  1. ConcurrentDictionary

    ConcurrentDictionary ConcurrentDictionary一大特点是线程安全,在没有ConcurrentDictionary前 在多线程下用Dictionary,不管读写都要加 ...

  2. Ajax基本语法

    案例代码: $(function(){ $('#send').click(function(){ $.ajax({ type: "GET", url: "test.jso ...

  3. wcf生成客户端代理类步骤及语句

    通过svcutil.exe工具生成客户端代理类和客户端的配置文件 .在运行中输入cmd打开命令行 ()cd C:\Program Files (x86)\Microsoft SDKs\Windows\ ...

  4. Greenplum 日常维护手册 (汇总、点评、备查)

    1. 数据库启动:gpstart常用可参数: -a : 直接启动,不提示终端用户输入确认-m:只启动master 实例,主要在故障处理时使用2. 数据库停止:gpstop:常用可参数:-a:直接停止, ...

  5. KITTI数据集的使用——雷达与相机的数据融合

    目录 目的 如何实现 kitti数据集简介 kitti数据集的raw_data 利用kitti提供的devkit以及相应数据集的calib文件 解读calib文件夹 解读devkit 目的 使用雷达点 ...

  6. 因为曾经装过Mysql导致再次装时windows无法启动MySQL服务报错1067的解决方法

    找到这里 MySQL右击属性 检查这里的可执行文件的路径是否正确,因为我这里显示的是原先的文件夹所以会一直启动失败,修改一下 这里你去百度经验 windows服务修改可执行文件路径 网址https:/ ...

  7. 6 week work 1

    CSS单位 em and rem: are often used to create scalable layouts, which maintain the vertical rhythm of t ...

  8. IntelliJ IDEA小问题通过操作软件解决

    Diamond types are not supported at this language level http://blog.csdn.net/qq_34884729/article/deta ...

  9. zookeeper原理与安装

    Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. 1.   Zookerper工作机制 2.   Zookeeper工作特点 3.   Zookeeper文件系统: ...

  10. 【转载】ARCHIVE_LAG_TARGET参数的作用(定时切换redo)

    (一)  设置archive_lag_target参数1.      一旦设置了archive_lag_target初始化参数,数据库将会周期性的检查实例的当前重做日志.如果遇到下列情况,实例将会切换 ...