HTTP权威指南之HTTP报文
程序员文章站
2022-03-03 08:47:11
...
HTTP报文
- 报文的组成
- 报文的语法
- 请求行:包含一个方法,一个请求url, http的版本,由空格分割
- 响应行:包含HTTP版本, 数字状态码, 描述状态的原因短语,由空格分割
- 方法:HTTP规范常用的七种方法GET,HEAD, POST, PUT, TRACE, OPTIONS, DELETE,并非所有服务器都实现了这些方法。服务器还可以实现一些 自定义的请求方法,这个自定义方法是对http规范的扩展,称为扩展方法
- 状态码:用来告诉客户端,发生了什么事情。状态码分类
- 原因短语:为状态码提供可读的文本形式的解释。
- 版本号:说明了客户端或者服务器支持的最高HTTP版本
主体:主体为HTTP报文的负荷,可以承载诸多类型的数据,比如图片, 视频,html文档,软件程序, 电子邮件等。
- 方法
- GET方法:用于请求服务器某个资源
- HEAD方法:与GET类似,但服务器只返回首部,不返回主体。
- PUT方法:向服务器写入文档。
- POST方法:通常用于HTML表单数据的提交。
- TRACE方法:主要用于诊断,查看代理或者其他应用程序对请求报文修改。
- OPTIONS方法:请求服务器,告知其支持的方法有哪些
- DELETE方法:删除服务器上指定的资源
- 扩展方法:例如LOCK,MKCOL,COPY, MOVE等。
- 状态码
- 100-199 信息性状态码,HTTP/1.1引入,很少用。
- 200-299 成功状态码, 已定义的有200-206。
- 300-399 重定向状态码, 重定向状态码告知客户端使用替代的位置来访问资源。定义了300-307
- 400-499 客户端错误状态码,定义了400-417
- 500-599 服务器错误状态码,定义了500-505
- 首部
- 通用首部,请求报文和响应报文均可用。常用的通用首部有Connection, Date, Via,Cache-control等。
- 请求首部, 只用于请求报文,比如信息性请求首部Host, Referer,User-Agent等, Accept请求首部, 条件请求首部Expect, IF-Match, If-modify-since,If-range,range等,安全请求首部cookie, authorization等,代理请求首部 proxy-connection等。
- 响应首部, 只用于响应报文, 比如信息性响应首部Server, Age等, 协商响应首部Accept-range,vary等,安全响应首部Set-cookie, Proxy-Authenticate等
- 实体首部, 提供了有关主体的信息,比如信息性首部allow, location,内容首部Content-*, 缓存首部Etag, expires, last-modifed等
- 扩展首部, 非标准首部,有应用程序开发者创建。
上一篇: 读金庸故事,品程序人生03杀死你的执着
下一篇: python相关知识点