《HTTP权威指南》– 1.HTTP概述
HTTP的概念
HTTP : Hypertext Transfer Protocol 超文本传输协议
因特网上有数千种不同的数据类型,HTTP仔细地给每种要通过Web传输的对象都打上了名为MIME类型的数据格式标签。
MIME类型 是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间由一道 / 来分割。
- 例如:HTML文档: text / html
- ASCII文档: text / plain
- JPEG图片: image / jpeg
- GIF图片: image / gif
- 常见的MIME类型有数百个,实验性或用途有限的则更多。
URI: Uniform Resource Identifier 统一资源标识符,给定URI,HTTP就可以解析出对象,主要包括三个部分:
- 1.方案 scheme 通常是HTTP协议
- 2.因特网地址
- 3.Web服务器上的某个资源
现在几乎所有的URI都是URL。
常见的HTTP方法:
- GET:从服务器向客户端返送命名资源
- PUT:将来自客户端数据存储到一个命名的服务器资源中
- DELETE:从服务器中删除命名资源
- POST:将客户端数据发送到一个服务器网关应用程序
- HEAD:仅发送命名资源响应中的HTTP首部
常见HTTP状态码:
- 200:OK 成功
- 302:Redirect 重定向
- 404:Not Found 访问资源不存在
HTTP报文:
- 1.起始行
- 2.首部字段
- 3.主体
Web客户端 ---- 请求报文 ---- Web服务端
Web客户端 ---- 响应报文 ---- Web服务端
TCP : Transmission Control Protocol 传输控制协议
IP : Internet Protocol 网际协议
TCP提供了:无差错的数据传输,按序传输,数据总是会按照发送顺序到达未分段的数据流(可以在任意时刻以任意尺寸将数据发出去)。因特网自身就是通过TCP / IP 的,TCP / IP是全世界的计算机和网络设备常用的层次化交换网络协议集。TCP / IP 隐藏了各种网络和硬件的特点及弱点,使各种类型的计算机和网络都能进行可靠地通信。
HTTP协议位于TCP上层,TCP则位于IP的上层。
- HTTP ---- 应用层
- TCP ---- 传输层
- IP ---- 网络层
- 网络所有的链路接口 ---- 数据链路层
- 物理网络硬件 ---- 物理层
隧道的概念
隧道:是建立起来以后,就会在两条连接之间对原始数据进行盲转发的HTTP应用程序。HTTP隧道通常用来在一条或多条HTTP连接上转发非HTTP数据,转发时不会窥探数据。一种常见用途是:通过HTTP连接承载加密的安全套接子层SSL(Secure Sockets Layer)流量。隧道可以在非HTTP网络上转发数据,显示HTTP / SSL 隧道。
Agent代理:代表用户发起HTTP请求的客户端程序,所有发布Web请求的应用程序都是HTTP Agent代理。如:浏览器。