计算机网络(9)——Web应用:Cookie技术及Web缓存技术

Cookie 技术

HTTP 协议是一个无状态协议,服务器不记录客户的历史行为,然而一个 Web 站点通常希望能够识别用户,可能是因为服务器希望限制用户的访问,或者因为它希望把内容与用户身份联系起来。为此,HTTP 使用了 Cookie技术

Cookie技术有 4 个组件

  • HTTP 响应消息的 cookie 首部行
  • HTTP 请求消息的 cookie 首部行
  • 保存在客户端主机上的 cookie 文件,由浏览器管理
  • 服务器端的后台数据库

假设 Susan 首次用 Edge 浏览器与 Amazon.com 联系,并假定她之前使用 Edge 访问过 eBay 站点。当请求报文首次到达 Amazon Web 服务器时,该 Web 站点生成一个唯一识别码,并以此为索引在它后面的数据库中产生一个表项,接下来 Amazon Web 服务器用一个包含 Set-cookie: 的首部行的 HTTP 响应报文对 Susan 的浏览器进行响应,其中 Set-cookie:首部行中含有该识别码。

Set-cookie: 1678

当 Susan 的浏览器收到该 HTTP 响应报文时,会看到 Set-cookie: 首部行,浏览器会在它管理的特定 cookie 文件中添加一行,该行包含服务器的主机名和 cookie 识别码。当 Susan 继续浏览 Amazon 网站时,每请求一个 Web 页面,其浏览器就会从它的 cookie 文件中获取她对这个网站的识别码,并放在 HTTP 请求报文中包括识别码的 cookie 首部行中。

Cookie: 1678 

在这种方式下,Amazon 服务器可以跟踪 Susan 在 Amazon 站点的活动,尽管服务器不必知道 Susan 的名字,但它确切的知道用户 1678 按什么顺序、在什么时间访问了哪些页面,便可以提供一些用户特定的服务。
在这里插入图片描述

Cookie 能够用于:身份认真、购物车、推荐、Web Email 等,但是存在隐私问题。

Web 缓存技术

Web 缓存器(Web cache)也叫代理服务器(proxy server),它是能够代表初始 Web 服务器来满足 HTTP 请求的网络实体,可以在不访问服务器的前提下满足客户端的 HTTP 请求,Web 缓存器通常由 ISP(Internet 服务提供商) 购买并安装。
在这里插入图片描述

如上图所示,可以配置用户的浏览器,使得用户的所有 HTTP 请求首先指向 Web 缓存器

  • 浏览器建立一个到 Web 缓存器的 TCP 连接,并向 Web 缓存器发送一个 HTTP 请求。
  • 如果所请求对象在缓存中,Web 缓存器就向客户浏览器用 HTTP 响应报文返回该对象。
  • 否则,Web 缓存器就打开一个与该对象的初始服务器的 TCP 连接,并向初始服务器发送对该对象的 HTTP 请求。当 Web 缓存器接收到该对象时,它在本地存储空间存储一份副本,并向客户的浏览器用 HTTP 响应报文发送该副本。

Web 缓存器是服务器的同时又是客户,当它接收浏览器的请求并发回响应时,它是一个服务器;当它向服务器发出请求并接收响应时,它是一个客户。

Web 缓存技术(代理服务器技术)可以缩短可以请求的响应时间,减少机构、组织的流量,并在大范围内(Internet)实现有效的内容分发。
但 Web 缓存技术还存在一个问题,即存放在缓存器中的对象副本可能与远端服务器上不一致。缓存服务器使用条件 GET 方法,证实它的对象是最新的:

  • 请求报文使用 GET 方法;
  • 请求报文中包含一个 If-Modified-Since:首部行来声明所持有版本的日期。

服务器:

  • 如果缓存的版本是最新的,则响应消息中不包含对象;
  • HTTP/1.0 304 Not Modified
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值