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

第 5 章 HTTP/1.1 的语义:HTTP 的扩展功能(1)

进入 HTTP/1.1 时代后,互联网广泛普及,人们可以通过智能手机随时随地上网。家庭的网络环境也不断完善,多台计算机和多部智能手机能够同时通过路由器接入互联网。电视机和 Blu-Ray 播放器等家用电器也开始联网。HTTP 正朝着通用协议的方向发展。
关于 HTTP,笔者之前的同事 @sonots 曾这样说:
“像 HTTP 负载均衡器这种面向 HTTP 的硬件和中间件已经有很多了。使用 Over HTTP 传输数据,就可以体会到这些硬件和中间件的好处。可以说 HTTP 已经成为基础设施了。”
本章将介绍 HTTP/1.1 之后扩展的协议和规范的各种应用示例,具体如下所示,既有浏览器和服务器之间的约定,也有面向通用应用程序的示例。
下载文件(指定文件名)
暂停和恢复下载(范围访问)
XMLHttpRequest
Geo-Location
X-Powered-By
远程过程调用
WebDAV
网站间共同的认证和授权平台

5.1 下载文件并保存到本地

浏览器根据服务器发来的 MIME 类型来处理文件。当用浏览器打开一个图像文件的链接时,如果 MIME 类型是 image/png,浏览器就会把该文件当成图像文件进行显示。如今,PDF 文件在默认情况下也会内嵌显示。如果是无法内嵌显示的 MIME 类型,浏览器则会下载文件。这是浏览器默认的操作。
浏览器会根据 Content-Disposition 首部的内容来改变动作。

5.1.1 保存文件的 Content-Disposition 首部

当服务器返回下面的首部时,浏览器会识别出这并不是用于显示的响应,而是用于下载文件并将其存储到本地的响应。有的浏览器会直接下载,有的浏览器会显示文件对话框。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了HTTP/1.1协议的高级特性和相关技术,涵盖了语义扩展功能、XMLHttpRequest的功能和安全性,以及Comet技术的应用。此外,还讨论了客户端获取位置信息的方法,包括通过Wi-Fi访问点定位和GeoIP通过IP地址推测客户端位置的方法。文章指出了这些技术的应用和潜在威胁,如自动收集位置信息对个人隐私的威胁,以及GeoIP通过访问日志分析用户地区来提供不同广告的可能性。总的来说,本文对于想要深入了解HTTP协议和相关技术的读者来说,是一篇值得阅读的文章。

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

精选留言

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