http概述
Web服务器会为所有的HTTP对象数据附加一个MIME类型,当浏览器取回一个对象时候,会去查看相关的MIME类型,看看他是否知道如何处理这个对象
HTML格式的文本文档由text/html类型标记
普通的ASCII文本文档由text/plain类型来标记
JPEG版本图片为image/gif类型
PowerPoint演示文件为application/vnd.ms-powerpoint类型
HTML格式的文本文档由text/html类型标记
普通的ASCII文本文档由text/plain类型来标记
JPEG版本图片为image/gif类型
PowerPoint演示文件为application/vnd.ms-powerpoint类型
URI:每个Web服务器资源都需要一个名字,被称为统一资源标识符(URI)
URI有两种形式,分别为URL和URN
一个URL如下所示: http://www.mp.****.net/myresource.gif
包含三个部分,1.schema 例子中的http ,说明了资源所使用的协议类型 2.服务器的因特网地址 对应 www.mp.****.net 3.某个资源的名称 myresource.gif,现在几乎所有的URI都是URL
- 浏览器请求一个页面,事件上会发送多个http请求,因为里面的资源很多。
- HTTP报文是由字符串组成的,不是二进制代码,HTTP2.0 是基于二进制的。采用字符串文本的方式优点在于易于读写。
- HTTP是可靠传输,原因的底层依赖于TCP的可靠传输机制,那么TCP的三次握手都需要ip地址和端口号,两者的来源正是URI,通过DNS可以解析获得ip地址,有些有带端口号,没有带的默认为80。
- 所以一次浏览器请求步骤大概如下:
- 浏览器从URL中解析出服务器的主机
- 浏览器将服务器主机转换成IP,通过本地host文件或者DNS
- 浏览器从URL中提取端口号(如果有的话)
- 浏览器建立一条TCPl连接
- 浏览器发送HTTP请求报文
- 服务器回应HTTP响应报文
- 关闭连接
- Web的结构组件:
- 1.代理:位于客户端和服务器之间的HTTP中间实体。接收客户端的请求,并转发请求,有可能会请求做修改过滤等。
-
- 2.缓存:HTTP的残酷,常使用页面的副本保存在距离客户端更近的地方,优点在于获取的速度更快
-
- 网关:连接其他应用程序的特殊Web服务器,可以将HTTP转换成其他协议。
-
- 隧道:对HTTP通信报文进行盲转发的特殊代理
-
- Angent代理:发起自动HTTP请求的半智能Web客户端