详解 HTTP:协议基础与 Go 语言实现
[日] 涩川喜规
《Go 系统编程》作者
407 人已学习
立即订阅
登录后,你可以任选4讲全文学习
课程目录
已完结/共 23 讲
时长 24:41
时长 19:39
时长 06:49
时长 00:38
详解 HTTP:协议基础与 Go 语言实现
15
15
1.0x
00:00/00:00
登录|注册

第 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
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入介绍了HTTP/1.0中代理和缓存的重要角色,以及相关实现方式。代理不仅用于中继HTTP通信,还具有缓存、防火墙和过滤功能,能够减轻服务器负担并提高用户浏览速度。文章详细解释了代理的实现方式,包括通过修改请求路径和添加认证来保护代理服务器。此外,缓存能有效提升性能,通过比较内容的新旧和设置有效期来实现。HTTP/1.0中的缓存结构以及Expires首部的使用方式也得到了详细阐述。另外,还介绍了Pragma:no-cache指令,它能对代理服务器发出指示,保证请求内容的实时性。此外,还介绍了Vary首部的作用,以及Referer首部的发送规则和保护措施。同时,还提到了面向搜索引擎的内容访问控制方法,包括robots.txt协议的作用。文章内容丰富,涵盖了Web通信中的重要技术特点,适合读者快速了解和掌握相关知识。HTTP的分层结构和语法与首部含义的解释分离,保证了向前兼容和向后兼容,为读者提供了全面的技术视角。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《详解 HTTP:协议基础与 Go 语言实现》
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部