欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HTTP权威指南之HTTP报文

程序员文章站 2022-03-03 08:47:11
...

HTTP报文

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