MIME 类型

这是一种文本标记,主要的对象类型/特定的子类型,如:

  • HTML 格式的文本文档:text/html
  • 普通 ASCII 文本文档:text/plain
  • JPEG 格式的图片:image/jpeg
  • GIF 格式的图片:image/gif
  • Apple 的 QuickTime 电影:video/quicktime

URI

统一资源标识符
URI 有两种形式,URL 和 URN。
URN 目前处于试验阶段,所以我们一般使用不区分 URI 和 URL。

URL

统一资源定位符

URN

统一资源名
例:不论因特网标准文档 RFC 2141 位于何处,都可以用下列 URN 来命名它:urn:ietf:rfc:2141

HTTP 事务

事务描述
方法GET / PUT / DELETE / POST / HEAD
状态码200-成功
300-重定向
400-客户端错误
500-服务器错误

报文

报文包含下面三部分

  • 起始行
    报文的第一行,请求报文中用来说明要做什么;相应报文中用来说明出现了什么情况。
  • 首部字段
    每个首部字段都包含一个名字和一个值,两者用冒号(:)分隔。
  • 主体
    请求主体包括了要发送给 Web 服务器的数据;响应主体装在了要返回给客户端的数据

连接

基本的浏览器连接处理:

  1. 浏览器从 URL 中解析出服务器的主机名;
  2. 浏览器讲服务器的主机名转换成服务器的 IP 地址;
  3. 浏览器将端口号(如果有的话)从 URL 中解析出来;
  4. 浏览器建立一条与 Web 服务器的 TCP 连接;
  5. 浏览器向服务器发送一条 HTTP 请求报文;
  6. 服务器向浏览器回送一条 HTTP 响应报文;
  7. 关闭连接,浏览器显示文档。

TCP-传输控制协议

IP 地址与端口号

文本形式的域名,或称为主机名(www.netscape.com)。主机名就是 IP 地址比较人性化的别称。可以通过域名服务(Domain Name Service,DNS)的机制将主机名转换成 IP 地址。

Web 的结构组件

  • 代理
    位于客户端和服务器之间的 HTTP 中间实体。
  • 缓存
    HTTP 的仓库,使常用页面的副本可以保存在离客户端更近的地方。
  • 网关
    连接其他应用程序的特殊 Web 服务器。
  • 隧道
    对 HTTP 通信报文进行盲转发的特殊代理。
  • Agent 代理
    发起自动 HTTP 请求的半智能 Web 客户端。

代理

代理位于客户端和服务器之间,接收所有客户端的 HTTP 请求,并将这些请求转发给服务器(可能会对请求进行修改后转发)。比如,在企业中对下载的应用程序进行病毒检测,或者对小学生屏蔽18+内容。

缓存

Web 缓存(Web cache)或代理缓存(proxy cache)是一种特殊的 HTTP 代理服务器,可以将经过代理传送的常用文档复制保存起来。客户端从附近的缓存下载文档会比从远程 Web 服务器下载快得多。

网关

将 HTTP 流量转换成其他的协议。例如,一个 HTTP/FTP 网关会通过 HTTP 请求接收对 FTP URI 的请求,从 FTP 服务器获取文档,再将得到对文档封装成一条 HTTP 报文,发送给客户端。

隧道

通过 HTTP 连接承载加密的安全套接字层(SSL,Secure Sockets Layer)流量,这样 SSL 流量就可以穿过只允许 Web 流量通过对防火墙了。

Agent 代理

代表用户发起 HTTP 请求的客户端程序。