2Web and HTTP
Web and HTTP
URL格式:协议名+用户:口令+主机名+路径名+端口
Prot: //user:psw @www.someschool.edu/ someDept/pic.gif: port
HTTP概况
HTTP:超文本传输协议
Web的应用层协议
使用TCP
-
客户端发起一个与服务器的TCP连接,端口号:80
-
服务器接受客户的TCP连接
-
在浏览器与Web服务器交换HTTP报文
-
TCP连接关闭
HTTP是无状态的
服务器并不维护关于客户的任何信息
HTTP连接
-
非持久HTTP
- 最多只要一个对象在TCP连接上发送
- 下载多个对象需要多个TCP连接
- HTTP/1.0使用非持久连接
-
持久HTTP
- 多个对象可以在一个TCP连接上传输
- HTTP/1.1默认使用持久连接
HTTP请求
两种类型的HTTP报文:请求和响应
-
请求报文
- 请求行(命令+版本号+URL)
- 若干首部行(包含域名、用户、连接方式等信息)
- 额外的回车符(表示报文结束)
- 实体行
-
响应报文
- 状态行(协议版本、状态码和状态信息)
- 首部行
- 数据
用户-服务器状态:cookie
无连接的特性会影响一些需要记录的网站的使用,因此出现了cookie机制,用于客户端和服务器之间保存历史记录或其它账户信息,规避无连接带来的影响。
4个组成部分
-
在HTTP响应报文中有一个cookie的首部行
-
在HTTP请求报文含有一个cookie的首部行
-
在用户端系统中保留有一个cookie文件,由浏览器应用管理
-
在Web站点有一个后端数据库,保留用户的cookie
Web缓存(代理服务器)
目标:不访问原始服务器,就能满足客户要求
-
用户设置浏览器,通过缓存的访问Web
-
浏览器将所有的HTTP请求发给缓存
- 直接缓存中的对象,直接被返回
- 对象不在缓存中,缓存请求原始服务器,然后再返回对象。
问题:对象再原始服务器中更新了,代理未更新
解决:使用条件式获取向原始服务器申请是否更新的head
发布于