摘要:下图列出可作为消息主体限定的首部字段清单。响应信息由一个状态行一个或者多个首部字段行一个空行消息主体构成状态行由版本状态码状态描述文字构成。状态码状态码共组,分别是的范围。这个系列的状态码只有个,但是比较费解,会专门多带带的做出解释。
无论是请求消息还是响应消息都由4个部分组成:首行、首部字段行区、空行、消息主题。
请求消息一般由一个请求行、0到多个首部字段行、一个空行、消息主体构成
GET /hello.htm HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) Host: example.com Accept-Language: en-us Accept-Encoding: gzip, deflate请求行
包含:请求方法、资源标识符、HTTP版本
请求方法常用请求方法包括:GET、POST、HEAD、PUT、DELETE、CONNECT、OPTIONS、TRACE
GET: 表示我要请求一个指定名称的资源。
PUT: 表示如果指定URL不存在就创建它,否则就修改它。资源数据由消息主体提供。
POST: 表示要创建一个新的子资源,或者更新一个存在的资源。资源数据由消息主体提供。
DELETE: 表示我要删除一个指定名称的资源。
OPTIONS: 允许客户端查看服务器的性能。
HEAD: 只请求页面的首部。
TRACE: 请求服务器在响应中的实体主体部分返回所得到的内容。
PUT和POST区别:
PUT是幂等性的,而POST不具备幂等性;体现在如果你重复一次提交POST创建子资源的请求,会导致创建两个子资源,而PUT在第二次重复提交时,只是更新子资源而已。
可以用来传递客户端的更多信息,以及传递解析消息主题的必要信息。
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) Host: example.com Accept-Language: en-us Accept-Encoding: gzip, deflate
左边称为头字段名,右边称为头字段值
空行(CRLF)指示头字段区已完成,消息主体开始(如果有消息主体的话)
消息主体比如POST提交表单时,表单数据会打包在消息主体内。
无论是请求消息还是响应消息,都有一个可选的消息主体(message-body)。如果客户端在提交表单,那么请求消息主体内就可以放置表单的数据;如果客户端请求下载一个gif,那么响应消息主体内就可以放置gif文件的二进制字节集合。所以,消息主体内可以放置任何内容。它的定义也是如此:
message-body = *OCTET
OCTET 就是字节。而 *OCTET则标示为多个字节。 仅仅看*OCTET是无法知道其中到底是什么内容。这就需要在消息头字段内用一组头字段来标示它。比如Content-Type就会指示内容的类型。下图列出可作为消息主体限定的首部字段清单。
entity-header = Content-Encoding | Content-Language | Content-Length | Content-Location | Content-MD5 | Content-Range | Content-Type | Allow | Expires | Last-Modified | extension-header extension-header = message-header#response(OK)
Content-Type 实体中所承载对象的类型。
Content-Length 所传送实体主体的长度或大小。
Content-Language 与所传送对象最相配的人类语言。
Content-Encoding 对象数据所做的压缩格式。
Content-Location 一个备用位置,请求时可通过它获得对象。
Content-Range 说明它是整体的哪个部分。
Content-MD5 实体主体内容的校验和。
Last-Modified 所传输内容在服务器上创建或最后修改的日期时间。
Expires 实体数据将要失效的日期时间。
Allow 该资源所允许的各种请求方法,例如,GET 和 HEAD。
ETag 这份文档的唯一验证码。
响应信息由一个状态行、一个或者多个首部字段行、一个空行、消息主体构成
HTTP/1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache/2.2.14 (Win32) Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT Content-Length: 88 Content-Type: text/html Connection: Closed状态行Hello, World!
由http版本、状态码、状态描述文字构成。
状态码状态码共5组,分别是 100-199,200-299,300-399,400-499,500-599的范围。
200-299 成功。 指明客户端请求是正确的,并被成功执行。
300-399 重定向。指明客户端请求是正确的,不过当前请求资源的位置在别处,请再次定向你的资源位置,发起新的请求。
400-499 客户端错误。 指明客户端的请求是不正确的,可能是格式无法识别,或者URL太长等等。
500-599 服务器端错误。 指明客户端的请求正确,但是服务器因为自身原因无法完成请求。
100-199 信息提示。 这个系列的状态码只有2个,但是比较费解,会专门多带带的做出解释。
详细:
① 客户方错误
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版本不支持
和请求消息类似,包括服务器本身的一些信息指示、以及响应消息本身的元数据
Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache/2.2.14 (Win32) Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT Content-Length: 88 Content-Type: text/html Connection: Closed一个空行(CRLF)
指示头字段完成
可选的消息主体案例中就是一个hello.html文件的内容
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/89209.html
摘要:是你学习从入门到专家必备的学习路线和优质学习资源。的数学基础最主要是高等数学线性代数概率论与数理统计三门课程,这三门课程是本科必修的。其作为机器学习的入门和进阶资料非常适合。书籍介绍深度学习通常又被称为花书,深度学习领域最经典的畅销书。 showImg(https://segmentfault.com/img/remote/1460000019011569); 【导读】本文由知名开源平...
摘要:紧跟在后面的是请求头,每行用冒号分隔名称和值按下两次回车,收到服务端回复响应部分第一行被称作,它也分为三个部分,协议和版本状态码和状态文本。对前端来说系列的状态码是非常陌生的,原因是的状态被浏览器库直接处理掉了,不会让上层应用知晓。 笔记说明 重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要...
摘要:紧跟在后面的是请求头,每行用冒号分隔名称和值按下两次回车,收到服务端回复响应部分第一行被称作,它也分为三个部分,协议和版本状态码和状态文本。对前端来说系列的状态码是非常陌生的,原因是的状态被浏览器库直接处理掉了,不会让上层应用知晓。 笔记说明 重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要...
摘要:紧跟在后面的是请求头,每行用冒号分隔名称和值按下两次回车,收到服务端回复响应部分第一行被称作,它也分为三个部分,协议和版本状态码和状态文本。对前端来说系列的状态码是非常陌生的,原因是的状态被浏览器库直接处理掉了,不会让上层应用知晓。 笔记说明 重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要...
摘要:记录学习的点点滴滴,方便日后查看。笔记源于网老师安装官网下载安装官网下载与电脑配版本,说明一下是长期支持版本是当前最新版本。浏览器请求访问此地址会出现,第一个服务就完成了,是不是很简单。模块分类模块分为核心模块文件模块第三方模块。 记录学习 Node.js 的点点滴滴,方便日后查看。(笔记源于imooc网Scott老师) 1. 安装 Node.js官网:https://nodejs....
阅读 2260·2023-04-25 14:50
阅读 1232·2021-10-13 09:50
阅读 1864·2019-08-30 15:56
阅读 1838·2019-08-29 15:29
阅读 2886·2019-08-29 15:27
阅读 3547·2019-08-29 15:14
阅读 1192·2019-08-29 13:01
阅读 3298·2019-08-26 14:06