解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别
转载自 解析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有什么区别相关推荐
- php 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别
GET: 请求指定的页面信息,并返回实体主体.HEAD: 只请求页面的首部.POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体.PUT: 从客户端向服务器传送的数据取代指定的文档 ...
- http接口测试:了解协议、请求方法、响应状态码
http接口测试:了解协议.请求方法.响应状态码 接口在各个系统间的重要性无需重申,主要体现在外部系统与系统之间以及内部各子系统之间的交互点.通过这些特定的交互点和一些特殊的规则标准(协议)来进行系统 ...
- HTTP协议的六种请求方法
抛砖引玉,聊下概念性的东西先: HTTP协议 (Hyper Text Transfer Protocol) HTTP是一个基于TCP/IP通信协议来传递数据,包括html文件.图像.结果等,即是一个客 ...
- c++ post请求_前端工程师进阶:网络请求方法详解,GET和POST的区别
1 前言 最近看了一些同学的面经,发现无论什么技术岗位,还是会问到 get 和 post 的区别,而搜索出来的答案并不能让我们装得一手好逼,那就让我们从 HTTP 报文的角度来撸一波,从而搞明白他们的 ...
- HTTP 请求方法 GET/POST/PUT/DELETE
Web HTTP基础知识 HTTP请求是什么? HTTP超文本传输协议,是确保服务器(Server)和客户端(Client)之间的正确通信. 一个请求和响应的过程: Request 用户通过浏览器向我 ...
- 485、CAN、单总线、SPI、I2C的概念,特点,协议,使用方法及通信方式,还有它们之间的区别
一.概念 1. 485:485(一般称作 RS485/EIA-485)是隶属于 OSI 模型物理层的电气特性规定为 2 线,半双工,多点通信的标准.它的电气特性和 RS-232 大不一样.用缆线两端的 ...
- HTTP协议中常见请求方法以及一些常见错误代码
GET: 请求指定的页面信息,并返回实体主体. HEAD: 只请求页面的首部. POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体. PUT: 从客户端向服务器传送的数据取代指定 ...
- HTTP协议中POST、GET、HEAD、PUT等请求方法及相应值得含义
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 请求方法是请求一定的Web页面的程序或用于特定的URL.可选用下列几种: GET: 请求指定的页面信 ...
- HTTP协议漫谈 - HTTP协议请求方法
前言 在上一篇文章<HTTP协议漫谈 - HTTP协议历史和报文结构>中介绍了HTTP协议的历史和版本变化,以及HTTP协议报文的总体结构. 按照HTTP/1.1 RFC文档中的定义,HT ...
最新文章
- RGBD相机模型与图片处理
- python装饰器-理解Python装饰器(Decorator)
- PHP的array_column
- 【开源】NodeJS仿WebApi路由
- [转:作者: 出处:javaresearch ]选择JSF不选Struts的十大理由
- java学习(62):java抽象类
- C#的变迁史09 - C# 5.0 之调用信息增强篇
- AC日记——数据流中的算法 51nod 1785
- mysql 常见密码设置_设置mysql用户密码(5.6/5.7)、远程连接数据库、常用命令
- 使用deeplearning4j训练Doc2Vec(文档向量)
- m不能被3整除c语言表达式,求mn-之间所有不能被3整除的整数之和求 – 手机爱问...
- 银监会计算机知识点,2015国考银监会计算机专业考试分析
- 【Caffe】caffe框架讲解,解析修改caffemodel与prototxt
- (三维偏序)陌上花开
- 最新MT2503_GPS调试工具资料下载
- 小米公司在区块链领域的布局:小米WiFi链也开始种“米”了
- 转载:.Net 程序集 签名工具sn.exe 密钥对SNK文件 最基本的用法
- 如何在win10上连接苹果无线键盘
- 莫斯科的年轻人(一)
- ES+Kibana+IK安装
热门文章
- 链表基础概念与经典题目(Leetcode题解-Python语言)
- python3调用c语言数组,使用Python中的ctypes访问数组
- 数据结构与算法--力扣109题将有序双向链表转换为二叉搜索树
- python结束线程_2018-01-02 如何优雅地终止python线程
- P6810 「MCOI-02」Convex Hull 凸包
- AT2645 [ARC076D] Exhausted?(Hall定理推论/线段树+扫描线)
- AtCoder Regular Contest 063 E - Integers on a Tree 构造 + 二分图染色
- P2257 YY的GCD
- 【每日一题】7月17日题目精讲—BOWL 碗的叠放
- 判断溢出(ybtoj-字符串)