HTTP协议中POST、GET、HEAD、PUT等请求方法以及一些常见错误 
HTTP协议中POST、GET、HEAD、PUT等请求方法以及一些常见错误

请求方法是请求一定的Web页面的程序或用于特定的URL。可选用下列几种:
GET: 请求指定的页面信息,并返回实体主体。
HEAD: 只请求页面的首部。
POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。
PUT: 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE: 请求服务器删除指定的页面。
OPTIONS: 允许客户端查看服务器的性能。
TRACE: 请求服务器在响应中的实体主体部分返回所得到的内容。
PATCH: 实体中包含一个表,表中说明与该URI所表示的原内容的区别。
MOVE: 请求服务器将指定的页面移至另一个网络地址。
COPY: 请求服务器将指定的页面拷贝至另一个网络地址。
LINK: 请求服务器建立链接关系。
UNLINK: 断开链接关系。
WRAPPED: 允许客户端发送经过封装的请求。
Extension-mothed:在不改动协议的前提下,可增加另外的方法。

当服务器响应时,其状态行的信息为HTTP的版本号,状态码,及解释状态码的简单说明。现将5类状态码详细列出:
① 客户方错误
100  继续
101  交换协议
② 成功
200  OK
201  已创建
202  接收
203  非认证信息
204  无内容
205  重置内容
206  部分内容
③ 重定向
300  多路选择
301  永久转移
302  暂时转移
303  参见其它
304  未修改(Not Modified)
305  使用代理
④ 客户方错误
400  错误请求(Bad Request)
401  未认证
402  需要付费
403  禁止(Forbidden)
404  未找到(Not Found)
405  方法不允许
406  不接受
407  需要代理认证
408  请求超时
409  冲突
410  失败
411  需要长度
412  条件失败
413  请求实体太大
414  请求URI太长
415  不支持媒体类型
⑤ 服务器错误
500  服务器内部错误
501  未实现(Not Implemented)
502  网关失败
504  网关超时
505 HTTP版本不支持

关于实体头部的内容还可以有:
Last Modified :请求文档的最近修改时间。
Expires :请求文档的过期时间。
Connect-length:文档数据的长度。
WWW-authenricate:通知客户端需要的认证信息。
Connect-encoding :说明有无使用压缩技术。
Transfer-encoding :说明采用的编码变换类型。

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

0,GET
1,HEAD
2,PUT
3,DELETE
4,POST
5,OPTIONS

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

0,GET:GET可以说是最常见的了,它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。
1,HEAD:HEAD和GET本质是一样的,区别在于HEAD不含有呈现数据,而仅仅是HTTP头信息。有的人可能觉得这个方法没什么用,其实不是这样的。想象一个业务情景:欲判断某个资源是否存在,我们通常使用GET,但这里用HEAD则意义更加明确。
2,PUT:这个方法比较少见。HTML表单也不支持这个。本质上来讲, PUT和POST极为相似,都是向服务器发送数据,但它们之间有一个重要区别,PUT通常指定了资源的存放位置,而POST则没有,POST的数据存放位置由服务器自己决定。举个例子:如一个用于提交博文的URL,/addBlog。如果用PUT,则提交的URL会是像这样的”/addBlog/abc123”,其中abc123就是这个博文的地址。而如果用POST,则这个地址会在提交后由服务器告知客户端。目前大部分博客都是这样的。显然,PUT和POST用途是不一样的。具体用哪个还取决于当前的业务场景。
3,DELETE:删除某一个资源。基本上这个也很少见,不过还是有一些地方比如amazon的S3云服务里面就用的这个方法来删除资源。
4,POST:向服务器提交数据。这个方法用途广泛,几乎目前所有的提交操作都是靠这个完成。
5,OPTIONS:这个方法很有趣,但极少使用。它用于获取当前URL所支持的方法。若请求成功,则它会在HTTP头中包含一个名为“Allow”的头,值是所支持的方法,如“GET, POST”。

其实还有一个TRACE方法,不过这个基本上不会用到,这里就不介绍了。以上的六种方法,我们可以跟数据库的CRUD增删改查操作对应起来:

CREATE :PUT
READ:GET
UPDATE:POST
DELETE:DELETE

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

http://blog.csdn.net/alextiger0/article/details/5836572

http://chlotte.blog.51cto.com/318402/554758

http://blog.sina.com.cn/s/blog_4c9ba2850100ftsy.html

http://www.hulifeng.com/article/jishu/23.htm

http://wenku.baidu.com/view/8f8f2025ccbff121dd36832e.html

http 方法状态便签相关推荐

  1. 计算机文字格式类型,电脑便签上的文字怎么以文件形式发送

    原标题:电脑便签上的文字怎么以文件形式发送 电脑便签上的便签,往往记录着我们工作中的重要信息.如果我们要把电脑便签上的文字导出,并以文件形式发送,该如何操作呢?现在我就来分享一下怎么把便签弄成文档.不 ...

  2. 小米手机便签怎么看写了多少字 小米手机便签统计字数方法

    在小米手机上,无论用的是系统自带便签工具,还是云便签,都可以用它们来记录文字,并且每条便签内容还可以实时查看已添加的文字字数.那具体小米手机便签怎么看写了多少字?小米手机便签统计字数方法是什么? 一. ...

  3. Win10系统打开便利贴便签工具应用的多种方法

    Win10系统是Windows经典操作系统之一,目前很多人的工作电脑和家庭电脑都采用的是这款系统.在Win10电脑左下角点击开始菜单,可在B开头的应用中找到便笺,打开便签贴工具来添加文字和图片等内容. ...

  4. python创建方法draw_Python生成便签图片的方法总结

    利用Python如何生成便签图片详解 前言 最近有文字转图片的需求,但是不太想下载 APP,就使用 Python Pillow 实现了一个,效果如下: PIL 提供了 PIL.ImageDraw.Im ...

  5. Android我的便签-----SQLite的使用方法

    2019独角兽企业重金招聘Python工程师标准>>> 在Android开发中也有数据库的存在,最近有空,把以前写的一个便签来讲述一下Android中的数据库,跟大家分享分享的,希望 ...

  6. 计算机桌面打标签,在电脑桌面上添加便签的方法步骤详解(2)

    电脑的桌面便签软件推荐 1.CintaNotes 电脑的桌面便签软件推荐图1 CintaNotes是一款非常轻巧实用的笔记软件,可看作EverNote轻量级替代品.CintaNotes只需1个exe, ...

  7. win10找不到便签(便利贴)怎么办,Win10找回便签功能的方法

    现在很多职场人士用的电脑系统都是Win10,win10系统的安全性和流畅度是优势,不过有的人刚用win10系统,还不太习惯.有的基础工具软件,都找不到在哪里,比如win10便利贴功能在哪里找到的呢?w ...

  8. Win10找不到便签怎么办 Win10找不到便签解决方法

    Win10找不到便签怎么办 方法一: 查看windows系统版本,在运行窗口中,输入 "winver",查看windows系统版本号.(本人系统版本为win10 2016 周年版) ...

  9. 手机便签怎么导出到另一个手机 便签内容一键传输方法

    智能手机一般2-3年一换,换手机的时候,便签导出是个麻烦事.手机便签怎么导出到另一个手机呢?如果换手机换的是同品牌手机,用的也是手机自带的便签,可以把便签内容备份到云服务,然后在新手机上登录云账号,就 ...

最新文章

  1. 安装中文语言包会导致 Troubleshoot Compatibility 失败
  2. kaggle为什么总是难以拿到金牌
  3. powercmd注册码
  4. Sql Server之旅——第十二站 对锁的初步认识
  5. 2021年度训练联盟热身训练赛第五场 H题In-place Sorting+贪心构造
  6. 10 行代码判定色*情*图片
  7. 文本文档怎样改格式为html格式,文本文档格式怎么更改【图解】
  8. 毕业设计 - 基于JAVA人脸识别管理系统(人脸搜索与人脸库管理)
  9. linux查看perl进程,如何找到挂起perl脚本(linux进程)的位置
  10. Spring Configuration Check Unmapped Spring configuration files found.Please configure Spring facet.
  11. flink 时间语义、水位线(Watermark)、生成水位线、水位线的传递
  12. FLV player 在线播放器【www.lantianye3.top】
  13. 中国 省 市 自治区 资料
  14. IT项目经理沟通技巧的重要性
  15. 无源码程序反编译修改文字
  16. Android 调用JNI出错 java.lang.UnsatisfiedLinkError: No implementation found for
  17. qt下开发mqtt的访问程序
  18. 浅谈ArcGIS中的容差和分辨率
  19. 苏州大学文正学院计算机组成期末,苏州大学文正学院操作系统复习题
  20. Verilog初级教程(19)Verilog中的参数

热门文章

  1. html5边框边距,html样式(边框)
  2. 全球与中国光学投影仪市场深度研究分析报告
  3. 刷题 | top k问题
  4. 设计模式画板java_画图画板设计模式课程设计任务书
  5. android:apn相关资料
  6. pat 乙级 1039 到底买不买 (20分)(C语言)
  7. 通过网闸将互联网视频推进视频专网
  8. Centos7 卸载rpm安装包
  9. uni 中 globalData 实现全局变量
  10. duilib中TranslateMessage函数和DispatchMessage函数