HTTP权威指南 第3章 HTTP报文

HTTP权威指南 第3章 HTTP报文

报文流:HTTP报文是在HTTP应用程序之间发送的数据块,在客户端、服务器和代理之间流动。
HTTP报文包含三个部分:

  • 起始行
  • 首部字段
  • 主体

起始行和首部就是由行分隔的ASCII文本,每行以一个回车符和一个换行符作为结束。
主体中可以包含文本或二进制数据,也可以为空。

报文格式
请求报文:

<方法><请求URL><版本>
<首部>

<实体主体>

响应报文:

<版本><状态码><原因短语>
<首部>

<实体主体>

起始行:请求报文的起始行说明了要做些什么,响应报文的起始行说明发生了什么。

方法:作为请求报文的起始行开始,用来告知服务器要做些什么。

  • GET:请求服务器发送某个资源
  • HEAD:与GET类似,但响应中只返回首部
  • PUT:向服务器写入文档
  • POST:向表单输入数据
  • TRACE:由服务器返回一条响应携带收到的请求报文,用于查看原始报文是否被修改
  • OPTIONS:请求服务器告知其支持的功能
  • DELETE:删除指定资源
  • 扩展方法:没有在HTTP/1.1规范中定义的方法,如:COPY,LOCK等

状态码:状态码分为五大类:

  • 100~199:信息性状态码
    • 100 Continue:已收到请求的初始部分,请客户端继续
    • 101 Switching Protocaols:正在切换指定的协议
  • 200~299:成功状态码
    • 200 OK:已返回请求的资源
    • 201 Created:已创建请求的对象
    • 202 Accepted:已接收请求但还未执行动作
    • 203 Non-Authoritative Information:实体首部包含的信息不是来自于源端服务器而是来自资源的一份副本
    • 204 No Content:响应中包含首部和状态行但没有主体部分
    • 205 Reset Content:告知浏览器清除页面内所有HTML表单元素
    • 206 Partial Content:成功执行了部分或范围请求
  • 300~399:重定向状态码
    • 300 Multiple Choices:客户端请求一个指向多个资源的URL时返回
    • 301 Moved Permanently:请求的URL已被移除使用,响应的Location首部包含资源现在所处URL
    • 302 Found:同301,但将来的请求仍应使用旧的URL
    • 303 See Other:告知客户端应该用另一个URL获取资源
    • 304 Not Modified:最近资源未被修改
    • 305 Use Proxy:必须通过代理访问资源
    • 306 未使用
    • 307 Temporary Redirect:同302
  • 400~499:客户端错误状态码
    • 400 Bad Request:告知客户端发送了错误的请求
    • 401 Unauthorized:请求客户端对自己进行认证
    • 402 Payment Required:未使用,保留
    • 403 Forbidden:请求被服务器拒绝
    • 404 Not Found:无法找到请求的URL
    • 405 Method Not Allowed:请求中含有所请求的URL不支持的方法
    • 406 Not Acceptable:服务器没有与客户端可接受的URL相匹配的资源
    • 407 Proxy Authentication:同401,但用于要求对资源进行认证的代理服务器
    • 408 Request Timeout:客户端完成请求所花的时间过长
    • 409 Conflict:请求可能在资源上引发冲突
    • 410 Gone:同404,但曾经拥有资源
    • 411 Length Required:要求再请求报文中包含Content-Length首部
    • 412 Precondition Failed:客户端发起的条件请求失败
    • 413 Request Entity Too Large:客户端发送的实体主体部分比服务器希望处理的更大
    • 414 Request URI Too Long:请求的URL比服务器希望处理的更长
    • 415 Unsupported Media Type:服务器无法理解或支持客户端发送的实体的内容类型
    • 416 Requested Range Not Satisfiable:请求报文中请求的指定资源的范围无效
    • 417 Expectation Failed:请求中包含的期望服务器无法满足
  • 500~599:服务器错误状态码
    • 500 Internal Server Error:服务器遇到了妨碍它提供服务的错误
    • 501 Not Implemented:客户端的请求超出服务器的能力范围
    • 502 Bad Gateway:代理或网关服务器从请求响应链的下一条链路上收到了伪响应
    • 503 Service Unavailable:服务器现在无法为请求提供服务
    • 504 Gateway Timeout:同408,但来自网关或代理
    • 505 HTTP Version Not Supported:服务器收到了不支持的协议版本的请求

首部:首部分为五大类:
- 通用首部,客户端和服务器都能使用,如:Date: Tue, 3 Oct 1974 02:16:00 GMT
- 请求首部,请求报文特有,如:Accept: */*
- 响应首部,响应报文特有,如:Server: Tiki-Hut/1.0
- 实体首部,用于应对实体主体部分,如:Content-Type: test/html; charset=iso-latin-1
- 扩展首部,非标准首部,由应用程序开发者创建

基于STM32F407,使用DFS算法实现最短迷宫路径检索,分为三种模式:1.DEBUG模式,2. 训练模式,3. 主程序模式 ,DEBUG模式主要分析bug,测量必要数据,训练模式用于DFS算法训练最短路径,并将最短路径以链表形式存储Flash, 主程序模式从Flash中….zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值