1 Web最重要的构成基础
网页
网页互相连接
1.1 网页
网页包含多个对象
对象:HTML文件、图片文件、视频文件、动态脚本等
基本HTML文件:包含对其它对象引用的连接
1.2 对象的寻址
URL:统一资源定位器
格式:Scheme://host:port/path
Scheme是指协议,默认http协议可省略
2 Web应用遵循的协议HTTP(超文本传输协议)
采用的是C/S结构
3 Web应用使用的传输层协议是TCP
为什么采用无状态
4 HTTP的连接类型
HTTP依赖TCP来进行传输,HTTP连接类型分为两类,非持久型连接和持久型连接
4.1 非持久型连接
每个TCP连接最多允许传输一个对象,HTTP1.0使用的是非持久型连接
4.1.1 通信过程
4.1.2 响应时间分析和建模
1)RTT(Round Trid Time)
它是指从客户端发送一个很小的数据包到服务器并返回所经历的时间
2)响应时间(Response time)
发起、建立TCP连接:1个RTT
发送HTTP请求消息,到HTTP响应消息到达(不算请求和响应所含的文件对象的传输时间):1个RRT
响应中所含的文件/对象传输时间
响应时间= 2RTT + 文件发送时间
4.1.3 非持久型连接的缺点
每次TCP连接只能传输一个对象
每个对象都需要至少2个RTT时间
操作系统需要为每个TCP连接开销资源
浏览器会打开多个并行的TCP连接获取需要的对象资源,这样子会对服务器施加很大的压力
4.2 持久型连接
每个TCP连接允许传输多个对象
HTTP1.1默认使用持久型连接
4.2.2 通信过程
建立TCP连接,服务器响应后,不关闭TCP,后续可以继续发送HTTP消息
4.2.3 持久型连接类型1:无流水的持久型连接
客户端只有收到前一个响应的请求后才发送新的请求
每个被引用对象耗时1个RRT+对象传输时间
4.2.4 持久型连接类型2:带有流水机制的持久型连接
它是HTTP1.1的默认选项
客户端只要遇到一个引用对象就尽快发送请求
理想情况下,收到所有应用对象只需要1个RRT+对象传输时间
5 HTTP消息格式
6 Cooike
由于http是无状态的,为了标识用户,记录用户,创造了cookie
7 Web缓存/代理服务器技术
7.1 简介
在不访问服务器的前提下满足客户端的HTTP请求
7.2 特点
缩短客户端的请求时间
减少机构/组织的流量
大范围内实现有效的内容分发
7.3 基本原理
7.4 示例
7.5 缓存和实际的一致性问题
条件性GET方法
请求的时候会带上一个版本信息If-modified-since,申明所持有版本的日期,服务器判断缓存的版本是否是最新的,如果是,响应中不包含对象,不过不是,响应包含最新的对象