HTTP概念
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 服务器的数据;响应主体装在了要返回给客户端的数据
连接
基本的浏览器连接处理:
- 浏览器从 URL 中解析出服务器的主机名;
- 浏览器讲服务器的主机名转换成服务器的 IP 地址;
- 浏览器将端口号(如果有的话)从 URL 中解析出来;
- 浏览器建立一条与 Web 服务器的 TCP 连接;
- 浏览器向服务器发送一条 HTTP 请求报文;
- 服务器向浏览器回送一条 HTTP 响应报文;
- 关闭连接,浏览器显示文档。
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 请求的客户端程序。
本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 吕钒的后花园!