网络应用程序体系结构
1 客户-服务器体系
2 对等(P2P)体系
供应用程序使用的传输服务
- 可靠数据传输
- 吞吐量
- 定时
- 安全性
因特网提供的传输服务
- TCP
- 面向连接
- 可靠数据传输
- 拥塞控制
- UDP
- 提供不必要服务的轻量级运输协议,提供最小服务
- SSL 安全套接字层
- 加强后的tcp,在应用层实现
应用层协议
- 交换的报文类型
- 各种报文类型的语法
- 字段的语义
- 确定一个进程何时以及如何发送报文,对报文进行响应的规则
Web和HTTP
Http:超文本传输协议
web页面:由对象构成,对象只是一个文件。诸如一个html文件,一个图形文件
Http使用tcp作为支撑运输协议,一旦客户向它的套接字接口发送了一个请求报文,该报文就脱离了客户控制并进入tcp的控制。
Http服务器不保存关于客户的任何信息,所以是一个无状态协议
非持续连接和持续连接
应用层的请求及其响应经过相同的TCP连接发送称为持续连接(HTTP默认)
每个请求响应对经一个单独的TCP连接发送称为非持续连接
HTTP报文格式
- HTTP请求报文
- 请求行 (方法字段 URL字段 HTTP版本字段)
- 首部行
- Host:指明对象所在主机
- Connection:close 告诉服务器不要使用持续连接
- User-Agent:首部行用来指明用户代理,即向服务器发送请求的浏览器的类型
- Accept-Language:用户想得到该对象的版本
- 实体
- HTTP响应报文
- 状态行(协议版本字段 状态码 相应状态信息)
- 首部行
- Date: 服务器产生并发送该响应报文的日期和时间
- Server:指示服务器的类型
- Last-Modified:该对象创建或者最后修改的时间(代理服务器使用)
- Content-Length:被发送对象的字节数
- Content-Type:对象是什么类型
- 实体
用户与服务器的交互:cookie
web缓存(代理服务器)
条件GET方法