`

一本名副其实的 Web架构“圣经”——关于《HTTP权威指南》

阅读更多

超文本传输协议(Hypertext Transfer Protocol,HTTP)是在万维网上进行通信时所使用的协议方案。 HTTP有很多应用,但最著名的是用于 Web浏览器和 Web服务器之间的双工通信。

HTTP起初是一个简单的协议,因此你可能会认为关于这个协议没有太多好说的。但现在,你手上拿着的却是一本将近两斤重的书。如果你对我们怎么会写出一本七百多页的关于 HTTP的书感到奇怪的话,可以去看一下目录。本书不仅仅是一本 HTTP首部的参考手册,它还是一本名副其实的 Web架构“圣经”。

本书中,我们将 HTTP中一些互相关联且常被误解的规则梳理清楚,并编写了一系列基于各种主题的章节,介绍了 HTTP各方面的特性。纵观全书,我们对 HTTP“为什么”这样做进行了详细的解释,而不仅仅停留在它是“怎么做”的。而且,为了节省大家寻找参考文献的时间,我们还介绍了很多 HTTP应用程序正常工作所必需且重要的非 HTTP技术。在条理清晰的附录中,可以找到按照字母排序的首部参考(这些首部构成了最常见的 HTTP文本的基础)。我们希望这种概念性的设计有助于读者更好地使用 HTTP。

本书是为所有希望理解 HTTP和 Web底层结构的人编写的。软 /硬件工程师也可以将本书作为 HTTP及相关 Web技术参考书使用。系统架构师和网络管理员可以通过本书更好地了解如何设计、实现并管理复杂的网络架构。性能工程师和分析人员可以从缓存和性能优化的相关章节中获益。市场营销和咨询专家还可以通过概念介绍更好地理解 Web技术的前景。

本书澄清了一些常见的误解,推荐了“各种业内诀窍”,提供了便捷的参考资料,并且用通俗易懂的语言阐述了枯燥且令人费解的标准规范,还详细探讨了 Web正常工作所必需且互相关联的技术。

本书创作历时良久,是由很热衷于因特网技术的人共同完成的,希望它能对你有所帮助。

运行实例: Joe的五金商店

本书的很多章节都涉及了一个假想的在线五金与家装商店实例,通过这个“ Joe的五金商店”来说明一些技术概念。我们为这个商店构建了一个真实的 Web站点(http://www.joes-hardware.com),以便大家能够测试书中的部分实例。只要本书仍在销售,我们就会一直维护好这个 Web站点。

本书内容

本书包含 21章,分为 5个逻辑部分(每部分都是一个技术专题),以及 8个很有用的附录,这些附录包含了参考资料,以及对相关技术介绍。

第一部分  HTTP:Web的基础

第二部分  HTTP结构

第三部分 识别、认证按全

第四部分 实体、编码和国际化

第五部分 内容发布与分发

第六部分 附录

第一部分用 4章的篇幅描述了 Web的基础构件与 HTTP的核心技术。

第 1章简要介绍了一下 HTTP。

第 2章详细阐述了统一资源定位符( Uniform Resource Locator,URL)的格式, URL在因特网上命名的各种类型的资源,还介绍了统一资源名( Uniform Resource Name,URN)的演变及未来的发展。

第 3章详细介绍了 HTTP报文是如何传送 Web内容的。

第 4章解释了 HTTP连接管理过程中一些经常会引起误解,并且很少有文献说明的 规则和行为。

第二部分重点介绍了 Web系统的结构构造块: HTTP服务器、代理、缓存、网关以及机器人应用程序。(当然, Web浏览器也是一种构造块,但在本书的第一部分已经对其进行过很详细的介绍了。)第二部分包含以下 6章。

第 5章简要介绍了 Web服务器结构。

第 6章深入研究了 HTTP代理服务器, HTTP代理服务器是作为 HTTP服务与控制平台使用的中间服务器。

第 7章深入研究了 Web缓存的问题——缓存是通过保存常用文档的本地副本来提高性能、减少流量的设备。

第 8章探讨了网关和应用服务器的概念,通过它们 HTTP就可以与使用不同协议(包括 SSL加密协议)的软件进行通信了。

第 9章介绍了 Web上的各种客户端类型,包括无处不在的浏览器、机器人和网络蜘蛛以及搜索引擎。

第 10章讲述了仍在研究之中的 HTTP协议: HTTP-NG协议。

第三部分提供了一套用于追踪身份、增强安全性以及控制内容访问的技术和技巧。包含下列 4章。

第 11章讨论了了一些识别用户的技术,以便向用户提供私人化的内容服务。

第 12章重点介绍了一些验证用户身份的基本方式。这一章还对 HTTP认证机制与数据库的接口问题进行了研究。

第 13章详述了摘要认证,摘要认证是对 HTTP的复合的、建议性的增强措施,可以大幅度提高其安全性。

第 14章说明了因特网的密码体系、数字证书以及 SSL。

第四部分含概(包含了实际 Web内容的) HTTP报文主体,一些用于描述和操纵报文主体所含内容的 Web标准。第四部分包含以下 3章。

第 15章介绍了 HTTP内容的结构。

第 16章探讨了一些 Web标准,通过这些标准,全球范围内的用户都可以交换以不同语言和字符集表示的内容。

第 17章解释了一些用于协商可接受内容的机制。

第五部分介绍了发布和传播 Web内容的技巧。包括以下 4章。

第 18章讨论了在现代的网站托管环境中布署服务器的方式, HTTP对虚拟网站托管的支持。

第 19章探讨了一些创建 Web内容,并将其装载到 Web服务器中去的技术。

第 20章介绍了能够将输入 Web流量分散到一组服务器上去的一些工具和技术。

第 21章介绍了一些日志格式和常见问题。

附录 A详述了统一资源描述符(Uniform Resource Identifier,URI)方案所支持的协议。

第六部分是一些很有用的参考附录,以及相关技术的教程。

• 附录 B列出了 HTTP的响应代码,方便使用。

• 附录 C提供了 HTTP首部字段的参考列表。

• 附录 D提供了大量的 MIME类型的列表,解释了 MIME类型的注册方式。

• 附录 E介绍了 HTTP认证中使用的 Base-64编码。

• 附录 F详述了如何实现 HTTP中的各种认证方案。

• 附录 G定义了 HTTP首部的语言标签值。

• 附录 H列出了用以支持国际化 HTTP的字符编码。

每章都包含很多实例,指出了其他参考相关的资料。

致谢

本书是很多人共同劳动的成果。五位作者要感谢一些人,感谢他们为这本书所作出的巨大贡献。
首先,我们要感谢 O’Reilly的编辑 Linda Mui。Linda早在 1996年就与 David和 Brian进行了首次接触,她还提炼了几个概念,并将其融入到今天大家拿到的这本书中。 Linda还帮助我们这帮首次写书、徘徊不定的人能够协调一致地按计划逐步完成(尽管我们完成得并不怎么快)。最重要的是, Linda给了我们一个创作此书的机会。我们要对她表示由衷地感谢。

我们还要感谢以下人士,他们非常聪明博学而且非常友善,为校对、注释并修订本书草稿花费了大量精力。他们是: Tony Bourke、Sean Burke、Mike Chowla、 Shernaz Daver、Fred Douglis、Paula Ferguson、Vikas Jha、Yves Lafon、Peter Mattis、Chuck Neerdaels、Luis Tavera、Duane Wessels、Dave Wu和 Marco Zagha。他们的一些观点和建议大大提升了本书的质量。

本书大部分精美的插图都是由 O’Reilly的 Rob Romano制作的。为了能够更加清晰地描述一些微妙的概念,本书使用了大量详尽备至的插图。其中很多插图制作起来都很费劲,而且还经过了大量的修改。如果一幅图相当于一千个字的话, Rob就相当于为本书增加了数百页的篇幅。

Brian还要特别感谢所有作者对本项目的付出。为了对 HTTP作出首次详细而又切实可行的剖析,作者们投入了大量的时间。其间虽然出现了婚礼、孩子出世、刻不容缓的工作项目、创业公司起步以及就读研究生院等诸多问题,但作者们的共同努力使这个项目得以圆满完成。我们相信,每个人的努力付出都是值得的,而且最重要的是,这项工作为大家提供了一项很有价值的服务。 Brian还要感谢 Inktomi的员工们,感谢他们的热情和支持,以及他们对 HTTP在实际应用程序中应用状况的深刻洞察力。同时,还要感谢 Cajun-shop.com允许我们使用他们的站点来展示书中的一些范例。

David要感谢他的家人,尤其是母亲和祖父长期以来不懈的支持。他要感谢那些在写书这几年中忍受他古怪作息习惯的家人们。他要对 Slurp、Orctomi和 Norma所做的一切表示感谢,还要感谢合作者们的辛勤工作。最后,他要感谢 Brian说服自己再次冒险。

Marjorie要感谢她丈夫 Alan Liu的技术洞察力,以及他对家庭的支持和理解。 Marjorie还要感谢合作者们丰富且深刻的灵感和洞察力。在编写过程中能够与他们共同工作,她感到非常开心。 
Sailu要感谢 David和 Brian为他提供机会参与编写本书,并感谢 Chuck Neerdaels将他引入了 HTTP的世界。

Anshu要感谢他的妻子 Rashi和他的父母。尽管本书的编写旷日持久,但家人依旧对他有着足够的耐心,不断地支持并鼓励他。

最后,作者们要集体感谢各位著名和无名的因特网先驱们,他们在过去四十年中所做的研究、开发和传播工作对我们的科学研究、社会以及经济共同作出了巨大的贡献。没有他们的工作,就没有本书所要讨论的话题。

有关本书作译者

本书作者David Gourley是Endeca公司的CTO,负责Endeca公司知识导航产品的研究和开发。曾设计开发了Internet规模的搜索数据库的核心组件,并且是Web缓存产品的高级开发人员。加利福尼亚大学伯克利分校的计算机科学专业毕业。

作者Brian Totty为Ludic实验室的CEO,与人合作开发过Inktomi的搜索引擎数据库,负责过Inktomi的Web缓存技术和流媒体技术的开发。之前曾在美国硅图公司和苹果计算机的先进技术小组任研究员。具有伊利诺伊大学厄本那-香槟分校计算机科学博士学位和麻省理工学院计算机科学学士学位。

本书译者是来自解放军理工大学通信工程学院的陈涓老师。

分享到:
评论
2 楼 turingbooks 2012-07-11  
本书预计下个月左右出版。
1 楼 superonion 2012-06-03  
什么时候出版?

相关推荐

    PPT模板 -龙湖新员工转正答辩模板.pptx

    PPT模板 -龙湖新员工转正答辩模板.pptx

    PPT模板 -生产计划管理.pptx

    PPT模板 -生产计划管理.pptx

    生产单元数字化改造23年国赛

    生产单元数字化改造23年国赛

    ECharts柱状图-极坐标系下的堆叠柱状图2.rar

    图表效果及代码实现讲解链接:https://blog.csdn.net/zhangjiujiu/article/details/143997013

    机器人算法的 Python 示例代码 .zip

    Pythonbot高斯网格图射线投射网格图激光雷达至网格地图k-均值对象聚类矩形接头大满贯迭代最近点 (ICP) 匹配FastSLAM 1.0路径规划动态窗口方法基于网格的搜索Dijkstra 算法A* 算法D*算法D* Lite 算法位场算法基于网格的覆盖路径规划国家网格规划偏极采样车道采样概率路线图(PRM)规划快速探索随机树(RRT)回程时间*RRT* 和 reeds-shepp 路径LQR-RRT*五次多项式规划Reeds Shepp 规划基于LQR的路径规划Frenet 框架中的最佳轨迹路径追踪移动到姿势控制斯坦利控制后轮反馈控制线性二次调节器 (LQR) 速度和转向控制模型预测速度和转向控制采用 C-GMRES 的非线性模型预测控制手臂导航N关节臂对点控制带避障功能的手臂导航航空导航无人机三维轨迹跟踪火箭动力着陆双足动物倒立摆双

    sql综合学习基础知识及练习题考试题实测题.zip

    SQL,全称为结构化查询语言(Structured Query Language),是用于管理和操作关系型数据库的标准化语言。它广泛应用于数据插入、查询、更新和删除等操作,并且拥有超过40年的历史,证明了其在数据处理领域的核心地位。以下是对SQL综合学习基础知识及练习题考试题实测题的介绍

    java面向对象 - 类与对象.doc

    java面向对象 - 类与对象 在Java编程语言中,面向对象编程(OOP)是一个核心概念。它强调以对象作为程序的基本单位,并将相关的数据和功能封装在对象中。类和对象是Java OOP的两个关键组成部分。 ### 类(Class) 类是一个模板或蓝图,它定义了对象的属性和行为。我们可以将类视为对象的类型或种类。通过类,我们可以创建(实例化)具有特定属性和行为的对象。 类的组成部分通常包括: 1. **成员变量**(属性):用于存储对象的状态或数据。 2. **方法**(行为):定义了对象可以执行的操作或功能。 3. **构造方法**:一种特殊类型的方法,用于在创建对象时初始化其状态。 4. **块**(如静态块、实例初始化块):用于执行类级别的初始化代码。 5. **嵌套类**:一个类可以包含其他类,这被称为嵌套或内部类。 ### 对象(Object) 对象是类的实例。它是根据类模板创建的具体实体,具有自己的状态和行为。每个对象都是其类的一个唯一实例,可以访问其类中定义的属性和方法。 创建对象的过程通常涉及以下几个步骤: 1. **声明**:指定对象的类型(即其所属的类

    原生JS实现鼠标感应图片左右滚动代码.zip

    原生JS实现鼠标感应图片左右滚动代码.zip

    随机密码生成器,支持字符、数字、字母大小写组合

    随机密码生成器,支持字符、数字、字母大小写组合

    自动化部署管道创建的代码库(含 Concourse 和 Jenkins 相关).zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。

    高等工程数学试题详解:矩阵分析与最优化方法

    内容概要:本文档为一份高级数学复习试题,内容涵盖线性代数、数值分析及最优化理论等领域,主要包括矩阵范数的计算、遗传算法中的变异操作、内点法解非线性优化问题、证明矩阵有互异特征值、求解矩阵的标准形以及应用单纯形法和FR共轭梯度法解决具体的数学问题等方面。 适合人群:正在备考研究生入学考试或者准备参加各类数学竞赛的学生、对高等数学感兴趣的学习者及从事相关领域科研工作的专业人士。 使用场景及目标:用于巩固和检验个人关于矩阵论、优化方法及概率统计的知识掌握情况,帮助应试者系统地复习相关考点,提高解题技巧。 阅读建议:建议结合具体题目深入理解每一个概念及其应用方式,遇到复杂的计算或证明步骤不妨动手尝试推导一次,这样有助于加深记忆并培养灵活运用知识的能力。同时,在理解算法原理的基础上,还可以参考一些实际案例来进行练习。

    使用了脉冲码调制(PCM).计算了所需的比特率和信号量化误差Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    Google 表格 Python API.zip

    Google Spreadsheet Python API v4Google Sheets 配合使用的简单界面。特征通过标题、关键字或URL打开电子表格。读取、写入和格式化单元格区域。共享和访问控制。批量更新。安装pip install gspread要求Python 3.8+。基本用法在 Google API 控制台中创建凭据开始使用 gspreadimport gspreadgc = gspread.service_account()# Open a sheet from a spreadsheet in one gowks = gc.open("Where is the money Lebowski?").sheet1# Update a range of cells using the top left corner addresswks.update([[1, 2], [3, 4]], "A1")# Or update a single cellwks.update_acell("B42", "it's

    AICon 2024全球人工智能开发与应用大会(脱敏)PPT合集(30份).zip

    AICon 2024全球人工智能开发与应用大会(脱敏)PPT合集,共30份。 AI辅助编程测评与企业实践 SmartEV和AI 蔚来的思考与实践 下一代 RAG 引擎的技术挑战与实现 书生万象大模型的技术演进与应用探索 人工智能行业数据集构建及模型训练方法实践周华 全方位评测神经网络模型的基础能力 千亿参数 LLM 的训练效率优化 向量化与文档解析技术加速大模型RAG应用落地 基于大模型的缺陷静态检查 多环境下的 LLM Agent 应用与增强 大模型在华为推荐场景中的探索和应用 大模型在推荐系统中的落地实践 大模型的异构计算和加速 大模型辅助需求代码开发 大语言模型在法律领域的应用探索 大语言模型在计算机视觉领域的应用 大语言模型的幻觉检测 小米大模型端侧部署落地探索 快手可图大模型的技术演进与应用探索 提升大模型知识密度,做高效的终端智能 电商大模型及搜索应用实践 百度大模型 原生安全构建之路 硅基流动高性能低成本的大模型推理云实践 语言模型驱动的软件工具思考:可解释与可溯源 长文本大模型推理实践:以 KVCache 为中心的分离式推理架构 阿里云 AI 搜索 RAG 大模型优

    子弹打穿金属后留下弹痕flash动画.zip

    子弹打穿金属后留下弹痕flash动画.zip

    雷达目标一维距离像仿真实验,以及多目标成像 matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    原生js竖直动画手风琴下拉菜单代码.zip

    原生js竖直动画手风琴下拉菜单代码.zip

    受循环荷载作用的土壤或路面层分析Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    Centos6.x通过RPM包升级OpenSSH9.7最新版 升级有风险,前务必做好快照,以免升级后出现异常影响业务

    Centos6.x通过RPM包升级OpenSSH9.7最新版 升级有风险,前务必做好快照,以免升级后出现异常影响业务

    营销策划 -阿道夫洗护品牌新品小红书新品营销方案.pptx

    营销策划 -阿道夫洗护品牌新品小红书新品营销方案.pptx

Global site tag (gtag.js) - Google Analytics