HTTP概述
MIME
MIME类型是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间由斜杠分隔
资源 | MIME类型 |
---|---|
HTML文本文档 | text/html |
ASCII文本文档 | text/plain |
JPEG图片 | image/jpeg |
GIF格式图片 | image/gif |
Apple的QuickTime电影 | video/quicktime |
等等,常见MIME类型有数百个。
URI
每个web服务器资源都有一个名字,这样客户端就能说明感兴趣的资源是什么。服务器资源名称被称为统一资源标识符(Uniform Resource Identifer, URI)
URI有两中形式URL 和 URN
-
URL
: 统一资源定位符(URL)描述了一台特定服务器中某资源的特定位置。
1531883351115.jpg
URL
格式分为三部分
- 第一部分说明访问资源使用的协议类型(方案),告知客户端怎样访问资源。大小写无关的。
- 第二部分给出服务器的地址
- 第三部分指定了服务器上某个资源
常用的方案格式
方案 | 描述 |
---|---|
http | 超文本传输协议方案,默认端口为80。基本格式 http://<host>:<port>/<path>?<query>#<frag>
|
https | htttps使用了SSL,SSL为HTTP 链接提供了端到端的加密机制。语法和HTTP相同,默认 |
-
URN
:统一资源名
不论因特网标准文档RFC2141位于何处,可以用下列URN命名:urn:itef:ftc:2141,目前仍处于试验阶段。
事务
一个
HTTP
事务由一条从客户端发往服务器的请求和一个从服务器发回客户端的响应结果组成。通信是通过HTTP报文(HTTP message)的格式化数据块进行的。

方法
每条HTTP请求报文都包含一个方法。
常见的HTTP方法
http方法 | 描述 |
---|---|
GET | 从服务器向客户端发送资源 |
PUT | 将刻度端的数据存储到服务器资源 |
DELETE | 从服务器中删除资源 |
POST | 将客户端数据发送到一个服务器网关应用程序 |
HEAD | 仅发送响应中的HTTP首部 |
状态码
每条HTTP响应报文返回时都会携带一个状态码,三位数字的代码。
常见的HTTP状态码
状态码 | 描述 |
---|---|
200 | OK 文档正确返回 |
404 | Not found 无法找到这个资源 |
报文
HTTP报文是纯文本,包括三个部分
- 起始行: 在请求报文中用来说明要做什么,在相应报文中说明出现了什么情况。
- 首部字段: 有0个多首部字段。content-length首部说明了响应主体的长度,content-type首部说明了文档的MIME类型。
-
主体: 空行之后就是可选的报文主体。请求报文主体中包含了要发送给服务器的数据,响应报文主体中包括的是返回给客户端的数据。主体中包含了所有类型的数据。
1531884647267.jpg
TCP/IP
HTTP是个应用层协议,联网的细节交给了TCP/IP协议。TCP/IP隐藏了各种网络和硬件的特点及弱点,使可种类型的计算机和网络能进行可靠地通信。
TCP提供了
- 无差错的数据传输
- 按序传输,数据按照发送的顺序到达。
- 未分段的数据流,可以在任意时刻以任意尺寸将数据发送出去

如何建立一条TCP连接?
- 浏览器从URL中解析出服务器的主机名
- 将服务器的主机名转换成服务器IP地址
- 将端口号从URL中解析出,默认80
- 建立一条与Web服务器的TCP连接
- 浏览器向服务器发送一条HTTP请求报文
- 服务器项浏览器响应一条HTTP响应报文
-
关闭连接,浏览器显示文档
浏览器连接.jpg
Web结构组件
应用程序 | 描述 |
---|---|
代理 | 位于客户端和服务器之间的HTTP中间实体 |
缓存 | HTTP的仓库,使常用页面的副本可以保存在离客户端更近的地方 |
网关 | 连接其他应用程序的特殊Web服务器 |
隧道 | 对HTTP通信报文进行盲转发的特殊代理 |
Agent代理 | 发起自动HTTP请求的半智能Web客户端 |
网友评论