图解HTTP_2

HTTP报文内的HTTP信息

  • HTTP报文本身是由多行(用CR+LF作换行符)数据构成的字符串文本。
  • HTTP报文大致可以分为报文首部和报文主体两块。两者由最初的空行(CR+LF)来划分。通常,并不一定要有报文主体。
    • 请求报文首部由:请求行,请求首部字段,通用首部字段,实体首部字段和其他组成。
    • 响应报文首部由:状态行,响应首部字段,通用首部字段,实体首部字段和其他组成。
  • 请求行
    包含用于请求的方法,请求URI和HTTP版本
  • 状态行
    包含表明响应结果的状态码,原因短语和HTTP版本
  • 首部字段
    包含表示请求和响应的各种条件和属性的各类首部。一般有4中首部,分别是:通用首部、请求首部、响应首部和实体首部
  • 其他
    可能包含HTTP的RFC里未定义的首部(Cookie等)

返回结果的HTTP状态码

  • 状态码的职责是当客户端向服务器发送请求时,描述返回的请求结果。
  • 状态码以3位数字和原因短语组成。数字中的第一位指定了响应类别,后两位无分类,响应类别有以下5钟:
数字 类别 原因短语
1XX Informational(信息性状态码) 接收的请求正在处理
2XX Success(成功状态码) 请求正常处理完毕
3XX Redirection(重定向) 需要进行附加操作以完成请求
4XX Client Error(客户端错误代码) 服务器无法处理请求
5XX Server Error(服务器错误状态码) 服务器处理请求出错

与HTTP协作的Web服务器

  • 用单台虚拟主机实现多个域名

    • HTTP/1.1 规范允许一台HTTP服务器搭建多个Web站点。
  • 通信数据转发程序:代理、网关、隧道

    • 代理:
      代理是一种有转发功能的应用程序,接收由客户端发送的请求并转发给服务器,同时也接收服务器返回的响应并转发给客户端。

    • 网关:
      网关是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,它就会像自己拥有自愿的源服务器一样对请求进行处理。

    • 隧道:
      隧道是在相隔很远的客户端和服务器之间进行中转,并保持双方通信连接的应用程序。

  • 保存资源的缓存

    • 缓存是指代理服务器或客户端本地磁盘内保存的资源副本。
posted @   main_c  阅读(118)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示