第 2 章 HTTP/1.0 的语义:浏览器基本功能的背后(2)
[日] 涩川喜规
2.7 代理
代理(proxy)是用于对 HTTP 通信等进行中继的一种结构。除了中继之外,代理还有各种附加功能。在公司或大学中,某个用户访问过的内容很可能被其他用户访问,如果将具有缓存功能的代理放置在公司或大学的网络出入口,就能减轻 Web 服务器的负担,还能让各个用户快速浏览页面。代理还有防火墙的作用,可以抵御来自外部的攻击。另外,代理还可以用作过滤器,针对低速的通信线路,压缩数据,提高速度(图像的视觉效果等会变差),或者用来过滤内容。代理的历史很悠久,HTTP/1.0 的规范中随处可见代理服务器的相关内容。在 1997 年,Microsoft 公司还将代理服务器作为服务器产品发售。
代理的实现很简单,只有 GET 等方法后面的路径名的形式会发生改变。跟在方法后面的路径名通常是 /helloworld 这种以斜杠开始的 UNIX 形式,而一旦设置了代理,路径名就会变成以 http:// 或者 https:// 开始的 URL 形式。从 HTTP/1.1 开始出现的 Host 首部也直接使用了最终接收请求的服务器的名称。关于 Host 首部的详细内容,大家可以参考第 4 章。实际上请求发送给了代理服务器。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
![](https://static001.geekbang.org/resource/image/d0/e4/d0880927e2a522a038be2d04bf19dfe4.png)
本文深入介绍了HTTP/1.0中代理和缓存的重要角色,以及相关实现方式。代理不仅用于中继HTTP通信,还具有缓存、防火墙和过滤功能,能够减轻服务器负担并提高用户浏览速度。文章详细解释了代理的实现方式,包括通过修改请求路径和添加认证来保护代理服务器。此外,缓存能有效提升性能,通过比较内容的新旧和设置有效期来实现。HTTP/1.0中的缓存结构以及Expires首部的使用方式也得到了详细阐述。另外,还介绍了Pragma:no-cache指令,它能对代理服务器发出指示,保证请求内容的实时性。此外,还介绍了Vary首部的作用,以及Referer首部的发送规则和保护措施。同时,还提到了面向搜索引擎的内容访问控制方法,包括robots.txt协议的作用。文章内容丰富,涵盖了Web通信中的重要技术特点,适合读者快速了解和掌握相关知识。HTTP的分层结构和语法与首部含义的解释分离,保证了向前兼容和向后兼容,为读者提供了全面的技术视角。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《详解 HTTP:协议基础与 Go 语言实现》
《详解 HTTP:协议基础与 Go 语言实现》
立即购买
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论