《图解HTTP》笔记(二)HTTP报文、状态码与Web服务器

目录

HTTP报文结构

请求报文结构

响应报文结构

报文首部

 报文和实体

内容编码

内容协商

状态码

常用14种状态码

单机多域名

通信数据转发三种程序:代理、网关、隧道

缓存


HTTP报文结构

请求报文结构

响应报文结构

报文首部

  • 请求行
    包括请求方法、请求URI、HTTP版本
  • 状态行
    包括状态码、原因短语、HTTP版本
  • 首部字段
    请求和响应的各种条件和属性各类首部
  • 其他
    HTTP和RFC中未定义的首部(Cookie等)

 报文和实体

  • 报文(message)是HTTP通信中的基本单位
  • 实体(entity)=实体首部+实体主体

关系:一般报文主体等于实体主体,当进行编码操作时才有区别

内容编码

指明编码格式,保持实体信息原样压缩。

  • gzip
  • compress
  • deflate(zlib)
  • identity(不进行编码)

内容协商

例子:不同语言的页面显示

  • 服务器驱动协商
    由服务器进行内容协商,以请求的首部字段为参考,在服务器端自动处理
  • 客户端驱动协商
    由用户在客户端手动选择
  • 透明协商
    客户端和服务器驱动的结合体

状态码

开头数字 类别 原因短语
1 信息性状态码 接受请求正在处理
2 成功状态码 请求正常处理完毕
3 重定向状态码 需要进行附加操作以完成请求
4 客户端错误状态码 服务器无法处理请求
5 服务器错误状态码 服务器处理请求出错

常用14种状态码

  1. 200 OK:请求已经被正常处理
  2. 204 No Content:成功返回但不含实体的主体部分;浏览器显示页面不会更新
  3. 206 Paritial Content:客户端进行了范围请求,服务器成功执行
  4. 301 Moved Permanently:永久性重定向
  5. 302 Found:临时性重定向
  6. 303 See Other:请求对应的资源存在联络柜一个URL,应该使用GET方法定向获取请求资源
  7. 304 Not Modified:客户端发送带附加条件的请求,服务器允许请求访问资源但未满足附加条件
  8. 307 Temporary Redirect:临时重定向
  9. 400 Bad Request:请求报文中含有语法错误
  10. 401 Unauthorized:需要有验证信息单验证失败
  11. 403 Forbidden:对资源访问但是被服务器拒绝
  12. 404 Not Found:在服务器上无法找到请求的资源
  13. 500 Internal Server Error:服务器执行请求时发生错误
  14. 503 Service Unavailable:服务器暂时处于超负载或停机维护暂时无法处理请求

单机多域名

虚拟服务器功能,经过DNS解析后IP地址相同

通信数据转发三种程序:代理、网关、隧道

  • 代理
    转发的应用程序
    每次通过代理服务器,会追加写入via信息
  • 网关
    转发其他服务器通信数据的服务器
    也能提供非HTTP协议服务
  • 隧道
    中转功能
    为了更安全的通信,常使用加密手段

缓存

  • 服务器缓存
  • 客户端缓存
发布了287 篇原创文章 · 获赞 297 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/qq_41895747/article/details/104276216
今日推荐