1、web与HTTP
 world Wide Web:
 网页
 网页互相链接
 网页包含多个对象:
 对象: HTML文件、JPEG图片、视频文件、动态脚本等
 基本HTML文件: 包含对其他对象引用的链接
 对象的寻址:
 URL(Uniform Resource Locator):统一资源定位器
 Scheme://host:port/path
2、HTTP协议概述
 万维网应用遵循超文本协议(HyperText Transfer Protocol)
 C/S结构
 客户——Browser:请求、接收、展示Web对象
 服务器——Web Server:响应客户的请求,发送对象
 HTTP版本
 1.0:RFC 1945
 1.1:RFC 2068
 使用TCP传输服务:
 服务器在80端口等待客户的请求
 浏览器发起服务器的TCP连接(创建套接字Socket)
 服务器接受来自浏览器的TCP连接
 浏览器(HTTP客户端)与Web服务器(HTTP服务器)交换HTTP消息
 关闭TCP连接
无状态:
 服务器不维护任何有关客户端过去所发请求的信息
 有协议的协议更复杂:
 需维护状态(历史信息)
 如果客户或服务器失效,会产生状态的不一致,解决这种不一致代价高
HTTP连接的两种类型
 1、 非持久性连接
 每个TCP连接最多允许传输一个对象
 HTTP1.0版本使用非持久性连接
 问题:
 1)每个对象需要2个RTT
 2)操作系统需要为每个TCP连接开销资源
2、 持久性连接
 每个TCP连接允许传输多个对象
 HTTP1.1版本默认使用持久性连接
 发送响应后,服务器保持TCP连接的打开
 后续的HTTP消息可以通过这个连接发送
HTTP请求消息
 请求消息:ASCII 人直接可读
 响应消息
Cookie技术
 某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)
Cookie的组件
 HTTP响应消息的cookie头部行
 HTTP请求消息的cookie头部行
 保存在客户端主机上的cookie文件,由浏览器管理
 Web服务器端的后台数据库
 原理
 
 作用:
 身份认证、购物车、推荐等
Web缓存/代理服务
 功能:在不访问服务器的前提下满足客户端的HTTP请求
 Web缓存/代理服务器:
 1、用户设定浏览器通过缓存进行Web访问
 浏览器向缓存/代理服务器发送所有的HTTP请求
 如果所请求对象在缓存中,缓存返回对象
 否则,缓存服务器向原始服务器发送HTTP请求,获取对象,然后反水给客户端并保存该对象
 2、缓存既充当客户端,也充当服务器
 3、一般由ISP(Internet服务提供商)架设
 条件性Get方法
 目标:如果缓存有最新的版本,则不需要发送请求对象
 缓存:在HTTP请求消息中声明所持有版本的日期
 服务器:如果缓存的版本是最新的,则响应消息中不包含对象