图解HTTP-4-5

4 返回解构的HTTP状态码

状态码 类别 原因短语
1XX Informational信息性状态码 接收的请求正在处理
2XX Success成功状态码 请求正常处理完毕
3XX Redirection重定向 需要进行附加操作以完成请求
4XX Client Error 服务器无法处理请求
5XX Server Error 服务器处理请求出错
状态码 描述
200 OK
204 No Content
206 Partial Content
301 Moved Permanently
302 Found 临时重定向
303 See Other
304 Not Modified
307 Temporary Redirect与302相同含义
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
500 Internal Server Error
503 Service Unavailable

⚠️状态码与状况不一致的情况,比如Web应用程序内部发生错误,状态码依然是200 OK

与HTTP协作的Web服务器

一台Web服务器可搭建多个独立域名的Web网站,也可作为通信路径上的中转站服务器提升传输效率。

  • 在相同IP地址下,由于虚拟主机可以寄存多个不同主机名和域名的Web网站,因此在发送HTTP请求时,必须在Host首部内完整指定主机名或域名URI
  • 代理:一种有转发功能的应用程序,扮演处于C和S的”中间人”的角色,接收C发送的请求并转发给S,同时也接收S的响应转发给C。
  1. 缓存代理:Caching Proxy预先将资源的副本保存在代理服务器上,当下次对相同资源的请求时,就可以不从源服务器获取资源,而是将之前缓存的资源作为响应返回
  2. 透明代理:转发请求或响应时,不对报文做任何加工的代理类型被称为透明代理Transparent Proxy,反之称非透明代理
    • 网关:转发其它服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求进行处理,有时客户端都不会察觉,自己的通信目标是一个网关。
  3. 可以使通信线路上的服务器提供非HTTP协议服务,利用网关可以在客户端与网关之间的通信心路上加密以确保连接的安全。
    • 隧道:在相隔甚远的客户端和服务器两者之间进行中转,并保持双发通信连接的应用程序。
  4. 隧道可以按要求建立起一条与其它服务器的通信线路,可以利用SSL等加密手段进行通信,确保客户端与服务器进行安全性通信,不会解析HTTP请求

⚠️代理不会改变请求URI,只做转发处理。持有资源实体的服务器称源服务器

  • 保存资源的缓存,可以在客户端或者代理服务器上保存资源副本,以达到减少对源服务器访问减少通信流量和通信时间的目的。