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

标准Http协议支持六种请求方法,即:

1、GET

2、POST

3、PUT

4、Delete

5、HEAD

6、Options

但其实我们大部分情况下只用到了GET和POST。如果想设计一个符合RESTful规范的web应用程序,则这六种方法都会用到。不过即使暂时不想涉及REST,了解这六种方法的本质仍然是很有作用的。大家将会发现,原来web也是很简洁明了的。下面依次说明这六种方法。

1,GET:GET可以说是最常见的了,它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。

2,HEAD:HEAD和GET本质是一样的,区别在于HEAD不含有呈现数据,而仅仅是HTTP头信息。有的人可能觉得这个方法没什么用,其实不是这样的。想象一个业务情景:欲判断某个资源是否存在,我们通常使用GET,但这里用HEAD则意义更加明确。

3,PUT:这个方法比较少见。HTML表单也不支持这个。本质上来讲, PUT和POST极为相似,都是向服务器发送数据,但它们之间有一个重要区别,PUT通常指定了资源的存放位置,而POST则没有,POST的数据存放位置由服务器自己决定。

举个例子:如一个用于提交博文的URL,/addBlog。如果用PUT,则提交的URL会是像这样的”/addBlog/abc123”,其中abc123就是这个博文的地址。而如果用POST,则这个地址会在提交后由服务器告知客户端。目前大部分博客都是这样的。显然,PUT和POST用途是不一样的。具体用哪个还取决于当前的业务场景。

4,DELETE:删除某一个资源。基本上这个也很少见,不过还是有一些地方比如amazon的S3云服务里面就用的这个方法来删除资源。

5,POST:向服务器提交数据。这个方法用途广泛,几乎目前所有的提交操作都是靠这个完成。

6,OPTIONS:这个方法很有趣,但极少使用。它用于获取当前URL所支持的方法。若请求成功,则它会在HTTP头中包含一个名为“Allow”的头,值是所支持的方法,如“GET, POST”。

其实还有一个 TRACE方法,不过这个基本上不会用到,这里就不介绍了。

以上的六种方法,我们可以跟数据库的CRUD增删改查操作对应起来:

CREATE :PUT

READ:POST

UPDATE: GET

DELETE:DELETE

这样一来就实现了HTTP和数据库操作(其实不光是数据库,任何数据如文件图表都是这样)的完美统一,这也是REST的精髓之一

解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别相关推荐

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

    GET: 请求指定的页面信息,并返回实体主体.HEAD: 只请求页面的首部.POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体.PUT: 从客户端向服务器传送的数据取代指定的文档 ...

  2. http接口测试:了解协议、请求方法、响应状态码

    http接口测试:了解协议.请求方法.响应状态码 接口在各个系统间的重要性无需重申,主要体现在外部系统与系统之间以及内部各子系统之间的交互点.通过这些特定的交互点和一些特殊的规则标准(协议)来进行系统 ...

  3. HTTP协议的六种请求方法

    抛砖引玉,聊下概念性的东西先: HTTP协议 (Hyper Text Transfer Protocol) HTTP是一个基于TCP/IP通信协议来传递数据,包括html文件.图像.结果等,即是一个客 ...

  4. c++ post请求_前端工程师进阶:网络请求方法详解,GET和POST的区别

    1 前言 最近看了一些同学的面经,发现无论什么技术岗位,还是会问到 get 和 post 的区别,而搜索出来的答案并不能让我们装得一手好逼,那就让我们从 HTTP 报文的角度来撸一波,从而搞明白他们的 ...

  5. HTTP 请求方法 GET/POST/PUT/DELETE

    Web HTTP基础知识 HTTP请求是什么? HTTP超文本传输协议,是确保服务器(Server)和客户端(Client)之间的正确通信. 一个请求和响应的过程: Request 用户通过浏览器向我 ...

  6. 485、CAN、单总线、SPI、I2C的概念,特点,协议,使用方法及通信方式,还有它们之间的区别

    一.概念 1. 485:485(一般称作 RS485/EIA-485)是隶属于 OSI 模型物理层的电气特性规定为 2 线,半双工,多点通信的标准.它的电气特性和 RS-232 大不一样.用缆线两端的 ...

  7. HTTP协议中常见请求方法以及一些常见错误代码

    GET: 请求指定的页面信息,并返回实体主体. HEAD: 只请求页面的首部. POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体. PUT: 从客户端向服务器传送的数据取代指定 ...

  8. HTTP协议中POST、GET、HEAD、PUT等请求方法及相应值得含义

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 请求方法是请求一定的Web页面的程序或用于特定的URL.可选用下列几种: GET: 请求指定的页面信 ...

  9. HTTP协议漫谈 - HTTP协议请求方法

    前言 在上一篇文章<HTTP协议漫谈 - HTTP协议历史和报文结构>中介绍了HTTP协议的历史和版本变化,以及HTTP协议报文的总体结构. 按照HTTP/1.1 RFC文档中的定义,HT ...

最新文章

  1. RGBD相机模型与图片处理
  2. python装饰器-理解Python装饰器(Decorator)
  3. PHP的array_column
  4. 【开源】NodeJS仿WebApi路由
  5. [转:作者: 出处:javaresearch ]选择JSF不选Struts的十大理由
  6. java学习(62):java抽象类
  7. C#的变迁史09 - C# 5.0 之调用信息增强篇
  8. AC日记——数据流中的算法 51nod 1785
  9. mysql 常见密码设置_设置mysql用户密码(5.6/5.7)、远程连接数据库、常用命令
  10. 使用deeplearning4j训练Doc2Vec(文档向量)
  11. m不能被3整除c语言表达式,求mn-之间所有不能被3整除的整数之和求 – 手机爱问...
  12. 银监会计算机知识点,2015国考银监会计算机专业考试分析
  13. 【Caffe】caffe框架讲解,解析修改caffemodel与prototxt
  14. (三维偏序)陌上花开
  15. 最新MT2503_GPS调试工具资料下载
  16. 小米公司在区块链领域的布局:小米WiFi链也开始种“米”了
  17. 转载:.Net 程序集 签名工具sn.exe 密钥对SNK文件 最基本的用法
  18. 如何在win10上连接苹果无线键盘
  19. 莫斯科的年轻人(一)
  20. ES+Kibana+IK安装

热门文章

  1. 链表基础概念与经典题目(Leetcode题解-Python语言)
  2. python3调用c语言数组,使用Python中的ctypes访问数组
  3. 数据结构与算法--力扣109题将有序双向链表转换为二叉搜索树
  4. python结束线程_2018-01-02 如何优雅地终止python线程
  5. P6810 「MCOI-02」Convex Hull 凸包
  6. AT2645 [ARC076D] Exhausted?(Hall定理推论/线段树+扫描线)
  7. AtCoder Regular Contest 063 E - Integers on a Tree 构造 + 二分图染色
  8. P2257 YY的GCD
  9. 【每日一题】7月17日题目精讲—BOWL 碗的叠放
  10. 判断溢出(ybtoj-字符串)