HTTP权威指南

HTTP权威指南
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] [美] [美] [美] [美]
出版社: 人民邮电出版社
2012-09
版次: 1
ISBN: 9787115281487
定价: 109.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 694页
字数: 1067千字
正文语种: 简体中文
原版书名: HTTP: The Definitive Guide
  • HTTP(HyperTextTransferProtocol,超文本传输协议)是Web客户端与服务器交互文档和信息时所使用的协议,是每个成功Web事务的幕后推手。众所周知,我们每天访问公司内部网络、搜索绝版书籍、研究统计信息时所使用的浏览器的核心就是HTTP。但HTTP的应用远不仅仅是浏览Web内容。由于HTTP既简单又普及,很多其他网络应用程序也选择了它,尤其是采用SOAP和XML-RPC这样的Web服务。详细解释了HTTP协议,包括它是如何工作的,如何用它来开发基于Web的应用程序。但本书并不只介绍了HTTP,还探讨了HTTP有效工作所依赖的所有其他核心因特网技术。尽管HTTP是本书的中心内容,但本书的本质是理解Web的工作原理,以及如何将这些知识应用到Web编程和管理之中去,主要涵盖HTTP的技术运作方式、产生动机、性能和目标,以及一些相关技术问题。本书是HTTP协议及相关Web技术方面的著作,主要内容包括:HTTP方法、首部以及状态码优化代理和缓存的方法设计Web机器人和爬虫的策略Cookies、认证以及安全HTTP国际化及内容协商重定向及负载平衡策略本书由具有多年实践经验的专家编写,通过简洁语言和大量翔实的细节图解帮助读者形象地理解Web幕后所发生的事情,详细说明了Web上每条请求的实际运行情况。要想高效地进行Web开发,所有Web程序员、管理员和应用程序开发者都应该熟悉HTTP。很多书籍只介绍了Web的使用方式,而本书则深入说明了Web的工作原理。   DavidGourley,Endeca的首席技术官(ChiefTechnologyOfficer),负责Endeca产品的研究及开发。Endeca开发的因特网及内部网络信息访问解决方案为企业级数据的导航及研究提供了一些新的方式。在到Endeca工作之前,David是Inktomi基础工程组的一员,他在那儿帮助开发了Inktomi的因特网搜索数据库,是Inktomi的Web缓存产品的主要开发者。David在加州大学伯克利分校获得了计算机科学的学士学位,还拥有Web技术方面的几项专利。  BrianTotty,出任了Inktomi公司(这是1996年他参与建立的一家公司)研发部副总裁,在公司中他负责Web缓存、流媒体及因特网搜索技术的研发工作。他曾是SiliconGraphics公司的一名科学家,他在那儿为高性能网络和超级计算机系统设计软件并对其进行优化。在那之前,他是苹果计算机公司高级技术组的一名工程师。Brian在伊利诺伊大学Urbana-Champaign分校获得了计算机科学的博士学位,在MIT获得了计算机科学及电子工程的学士学位,在那里他获得了计算机系统研究的Organick奖。他还为加州大学扩展系统开发并讲授了一些屡获殊荣的因特网技术方面的课程。  MarjorieSayer在Inktomi公司负责编写Web缓存方面的软件。在加州大学伯克利分校获得了数学硕士和博士学位之后,一直致力于数学课程的改革。从1990年开始致力于能量资源管理、并行系统软件、电话和网络方面的写作。  SailuReddy目前在Inktomi公司负责嵌入式的性能增强型HTTP代理的开发。Sailu从事复杂软件系统的开发已经有12年了,从1995年开始深入Web架构的研发工作。他是NetscapeWeb服务器、Web代理产品,以及后面几代产品的核心工程师。他具备HTTP应用程序、数据压缩技术、数据库引擎以及合作管理等方面的技术经验。Sailu在亚里桑那大学获得了信息系统的硕士学位并握有Web技术方面的多项专利。  AnshuAggarwal是Inktomi公司的工程总监。他领导着Inktomi公司Web缓存产品的协议处理工程组,从1997年就开始参与Inktomi的Web技术设计工作。Anshu在科罗拉多大学Boulder分校获得了计算机科学的硕士和博士学位,从事分布式多处理器的内存一致性技术研究。他还拥有电子工程的硕士和学士学位。Anshu撰写了多篇技术论文,还拥有两项专利。 第一部分HTTP:Web的基础第1章HTTP概述1.1HTTP——因特网的多媒体信使1.2Web客户端和服务器1.3资源1.3.1媒体类型1.3.2URI1.3.3URL1.3.4URN1.4事务1.4.1方法1.4.2状态码1.4.3Web页面中可以包含多个对象1.5报文1.6连接1.6.1TCP/IP1.6.2连接、IP地址及端口号1.6.3使用Telnet实例1.7协议版本1.8Web的结构组件1.8.1代理1.8.2缓存1.8.3网关1.8.4隧道1.8.5Agent代理1.9起始部分的结束语1.10更多信息1.10.1HTTP协议信息1.10.2历史透视1.10.3其他万维网信息第2章URL与资源2.1浏览因特网资源2.2URL的语法2.2.1方案——使用什么协议2.2.2主机与端口2.2.3用户名和密码2.2.4路径2.2.5参数2.2.6查询字符串2.2.7片段2.3URL快捷方式2.3.1相对URL2.3.2自动扩展URL2.4各种令人头疼的字符2.4.1URL字符集2.4.2编码机制2.4.3字符限制2.4.4另外一点说明2.5方案的世界2.6未来展望2.7更多信息第3章HTTP报文3.1报文流3.1.1报文流入源端服务器3.1.2报文向下游流动3.2报文的组成部分3.2.1报文的语法3.2.2起始行3.2.3首部3.2.4实体的主体部分3.2.5版本0.9的报文3.3方法3.3.1安全方法3.3.2GET3.3.3HEAD3.3.4PUT3.3.5POST3.3.6TRACE3.3.7OPTIONS3.3.8DELETE3.3.9扩展方法3.4状态码3.4.1100~199——信息性状态码3.4.2200~299——成功状态码3.4.3300~399——重定向状态码3.4.4400~499——客户端错误状态码3.4.5500~599——服务器错误状态码3.5首部3.5.1通用首部3.5.2请求首部3.5.3响应首部3.5.4实体首部3.6更多信息第4章连接管理4.1TCP连接4.1.1TCP的可靠数据管道4.1.2TCP流是分段的、由IP分组传送4.1.3保持TCP连接的正确运行4.1.4用TCP套接字编程4.2对TCP性能的考虑4.2.1HTTP事务的时延4.2.2性能聚焦区域4.2.3TCP连接的握手时延4.2.4延迟确认4.2.5TCP慢启动4.2.6Nagle算法与TCP_NODELAY4.2.7TIME_WAIT累积与端口耗尽4.3HTTP连接的处理4.3.1常被误解的Connection首部4.3.2串行事务处理时延4.4并行连接4.4.1并行连接可能会提高页面的加载速度4.4.2并行连接不一定更快4.4.3并行连接可能让人“感觉”更快一些4.5持久连接4.5.1持久以及并行连接4.5.2HTTP/1.0+keep-alive连接4.5.3Keep-Alive操作4.5.4Keep-Alive选项4.5.5Keep-Alive连接的限制和规则4.5.6Keep-Alive和哑代理4.5.7插入Proxy-Connection4.5.8HTTP/1.1持久连接4.5.9持久连接的限制和规则4.6管道化连接4.7关闭连接的奥秘4.7.1“任意”解除连接4.7.2Content-Length及截尾操作4.7.3连接关闭容限、重试以及幂等性4.7.4正常关闭连接4.8更多信息4.8.1HTTP连接4.8.2HTTP性能问题4.8.3TCP/IP第二部分HTTP结构第5章Web服务器5.1各种形状和尺寸的Web服务器5.1.1Web服务器的实现5.1.2通用软件Web服务器5.1.3Web服务器设备5.1.4嵌入式Web服务器5.2最小的PerlWeb服务器5.3实际的Web服务器会做些什么5.4第一步——接受客户端连接5.4.1处理新连接5.4.2客户端主机名识别5.4.3通过ident确定客户端用户5.5第二步——接收请求报文5.5.1报文的内部表示法5.5.2连接的输入/输出处理结构5.6第三步——处理请求5.7第四步——对资源的映射及访问5.7.1docroot5.7.2目录列表5.7.3动态内容资源的映射5.7.4服务器端包含项5.7.5访问控制5.8第五步——构建响应5.8.1响应实体5.8.2MIME类型5.8.3重定向5.9第六步——发送响应5.10第七步——记录日志5.11更多信息第6章代理6.1Web的中间实体6.1.1私有和共享代理6.1.2代理与网关的对比6.2为什么使用代理6.3代理会去往何处6.3.1代理服务器的部署6.3.2代理的层次结构6.3.3代理是如何获取流量的6.4客户端的代理设置6.4.1客户端的代理配置:手工配置6.4.2客户端代理配置:PAC文件6.4.3客户端代理配置:WPAD6.5与代理请求有关的一些棘手问题6.5.1代理URI与服务器URI的不同6.5.2与虚拟主机一样的问题6.5.3拦截代理会收到部分URI6.5.4代理既可以处理代理请求,也可以处理服务器请求6.5.5转发过程中对URI的修改6.5.6URI的客户端自动扩展和主机名解析6.5.7没有代理时URI的解析6.5.8有显式代理时URI的解析6.5.9有拦截代理时URI的解析6.6追踪报文6.6.1Via首部6.6.2TRACE方法6.7代理认证6.8代理的互操作性6.8.1处理代理不支持的首部和方法6.8.2OPTIONS:发现对可选特性的支持6.8.3Allow首部6.9更多信息第7章缓存7.1冗余的数据传输7.2带宽瓶颈7.3瞬间拥塞7.4距离时延7.5命中和未命中的7.5.1再验证7.5.2命中率7.5.3字节命中率7.5.4区分命中和未命中的情况7.6缓存的拓扑结构7.6.1私有缓存7.6.2公有代理缓存7.6.3代理缓存的层次结构7.6.4网状缓存、内容路由以及对等缓存7.7缓存的处理步骤7.7.1第一步——接收7.7.2第二步——解析7.7.3第三步——查找7.7.4第四步——新鲜度检测7.7.5第五步——创建响应7.7.6第六步——发送7.7.7第七步——日志7.7.8缓存处理流程图7.8保持副本的新鲜7.8.1文档过期7.8.2过期日期和使用期7.8.3服务器再验证7.8.4用条件方法进行再验证7.8.5If-Modified-Since:Date再验证7.8.6If-None-Match:实体标签再验证7.8.7强弱验证器7.8.8什么时候应该使用实体标签和最近修改日期7.9控制缓存的能力7.9.1no-Store与no-Cache响应首部7.9.2max-age响应首部7.9.3Expires响应首部7.9.4must-revalidate响应首部7.9.5试探性过期7.9.6客户端的新鲜度限制7.9.7注意事项7.10设置缓存控制7.10.1控制Apache的HTTP首部7.10.2通过HTTP-EQUIV控制HTML缓存7.11详细算法7.11.1使用期和新鲜生存期7.11.2使用期的计算7.11.3完整的使用期计算算法7.11.4新鲜生存期计算7.11.5完整的服务器——新鲜度算法7.12缓存和广告7.12.1发布广告者的两难处境7.12.2发布者的响应7.12.3日志迁移7.12.4命中计数和使用限制7.13更多信息第8章集成点:网关、隧道及中继8.1网关8.2协议网关8.2.1HTTP/*:服务器端Web网关8.2.2HTTP/HTTPS:服务器端安全网关8.2.3HTTPS/HTTP客户端安全加速器网关8.3资源网关8.3.1CGI8.3.2服务器扩展API8.4应用程序接口和Web服务8.5隧道8.5.1用CONNECT建立HTTP隧道8.5.2数据隧道、定时及连接管理8.5.3SSL隧道8.5.4SSL隧道与HTTP/HTTPS网关的对比8.5.5隧道认证8.5.6隧道的安全性考虑8.6中继8.7更多信息第9章Web机器人9.1爬虫及爬行方式9.1.1从哪儿开始:根集9.1.2链接的提取以及相对链接的标准化9.1.3避免环路的出现9.1.4循环与复制9.1.5面包屑留下的痕迹9.1.6别名与机器人环路9.1.7规范化URL9.1.8文件系统连接环路9.1.9动态虚拟Web空间9.1.10避免循环和重复9.2机器人的HTTP9.2.1识别请求首部9.2.2虚拟主机9.2.3条件请求9.2.4对响应的处理9.2.5User-Agent导向9.3行为不当的机器人9.4拒绝机器人访问9.4.1拒绝机器人访问标准9.4.2Web站点和robots.txt文件9.4.3robots.txt文件的格式9.4.4其他有关robots.txt的知识9.4.5缓存和robots.txt的过期9.4.6拒绝机器人访问的Perl代码9.4.7HTML的robot-control元标签9.5机器人的规范9.6搜索引擎9.6.1大格局9.6.2现代搜索引擎结构9.6.3全文索引9.6.4发布查询请求9.6.5对结果进行排序,并提供查询结果9.6.6欺诈9.7更多信息第10章HTTP-NG10.1HTTP发展中存在的问题10.2HTTP-NG的活动10.3模块化及功能增强10.4分布式对象10.5第一层——报文传输10.6第二层——远程调用10.7第三层——Web应用10.8WebMUX10.9二进制连接协议10.10当前的状态10.11更多信息第三部分识别、认证与安全第11章客户端识别与cookie机制11.1个性化接触11.2HTTP首部11.3客户端IP地址11.4用户登录11.5胖URL11.6cookie11.6.1cookie的类型11.6.2cookie是如何工作的11.6.3cookie罐:客户端的状态11.6.4不同站点使用不同的cookie11.6.5cookie成分11.6.6cookies版本0(Netscape)11.6.7cookies版本1(RFC2965)11.6.8cookie与会话跟踪11.6.9cookie与缓存11.6.10cookie、安全性和隐私11.7更多信息第12章基本认证机制12.1认证12.1.1HTTP的质询/响应认证框架12.1.2认证协议与首部12.1.3安全域12.2基本认证12.2.1基本认证实例12.2.2Base-64用户名/密码编码12.2.3代理认证12.3基本认证的安全缺陷12.4更多信息第13章摘要认证13.1摘要认证的改进13.1.1用摘要保护密码13.1.2单向摘要13.1.3用随机数防止重放攻击13.1.4摘要认证的握手机制13.2摘要的计算13.2.1摘要算法的输入数据13.2.2算法H(d)和KD(s,d)13.2.3与安全性相关的数据(A1)13.2.4与报文有关的数据(A2)13.2.5摘要算法总述13.2.6摘要认证会话13.2.7预授权13.2.8随机数的选择13.2.9对称认证13.3增强保护质量13.3.1报文完整性保护13.3.2摘要认证首部13.4应该考虑的实际问题13.4.1多重质询13.4.2差错处理13.4.3保护空间13.4.4重写URI13.4.5缓存13.5安全性考虑13.5.1首部篡改13.5.2重放攻击13.5.3多重认证机制13.5.4词典攻击13.5.5恶意代理攻击和中间人攻击13.5.6选择明文攻击13.5.7存储密码13.6更多信息第14章安全HTTP14.1保护HTTP的安全14.2数字加密14.2.1密码编制的机制与技巧14.2.2密码14.2.3密码机14.2.4使用了密钥的密码14.2.5数字密码14.3对称密钥加密技术14.3.1密钥长度与枚举攻击14.3.2建立共享密钥14.4公开密钥加密技术14.4.1RSA14.4.2混合加密系统和会话密钥14.5数字签名14.6数字证书14.6.1证书的主要内容14.6.2X.509v3证书14.6.3用证书对服务器进行认证14.7HTTPS——细节介绍14.7.1HTTPS概述14.7.2HTTPS方案14.7.3建立安全传输14.7.4SSL握手14.7.5服务器证书14.7.6站点证书的有效性14.7.7虚拟主机与证书14.8HTTPS客户端实例14.8.1OpenSSL14.8.2简单的HTTPS客户端14.8.3执行OpenSSL客户端14.9通过代理以隧道形式传输安全流量14.10更多信息14.10.1HTTP安全性14.10.2SSL与TLS14.10.3公开密钥基础设施14.10.4数字密码第四部分实体、编码和国际化第15章实体和编码15.1报文是箱子,实体是货物15.2Content-Length:实体的大小15.2.1检测截尾15.2.2错误的Content-Length15.2.3Content-Length与持久连接15.2.4内容编码15.2.5确定实体主体长度的规则15.3实体摘要15.4媒体类型和字符集15.4.1文本的字符编码15.4.2多部分媒体类型15.4.3多部分表格提交15.4.4多部分范围响应15.5内容编码15.5.1内容编码过程15.5.2内容编码类型15.5.3Accept-Encoding首部15.6传输编码和分块编码15.6.1可靠传输15.6.2Transfer-Encoding首部15.6.3分块编码15.6.4内容编码与传输编码的结合15.6.5传输编码的规则15.7随时间变化的实例15.8验证码和新鲜度15.8.1新鲜度15.8.2有条件的请求与验证码15.9范围请求15.10差异编码15.11更多信息第16章国际化16.1HTTP对国际性内容的支持16.2字符集与HTTP16.2.1字符集是把字符转换为二进制码的编码16.2.2字符集和编码如何工作16.2.3字符集不对,字符就不对16.2.4标准化的MIMEcharset值16.2.5Content-Type首部和Charset首部以及META标志16.2.6Accept-Charset首部16.3多语言字符编码入门16.3.1字符集术语16.3.2字符集的命名很糟糕16.3.3字符16.3.4字形、连笔以及表示形式16.3.5编码后的字符集16.3.6字符编码方案16.4语言标记与HTTP16.4.1Content-Language首部16.4.2Accept-Language首部16.4.3语言标记的类型16.4.4子标记16.4.5大小写16.4.6IANA语言标记注册16.4.7第一个子标记——名字空间16.4.8第二个子标记——名字空间16.4.9其余子标记——名字空间16.4.10配置和语言有关的首选项16.4.11语言标记参考表16.5国际化的URI16.5.1全球性的可转抄能力与有意义的字符的较量16.5.2URI字符集合16.5.3转义和反转义16.5.4转义国际化字符16.5.5URI中的模态切换16.6其他需要考虑的地方16.6.1首部和不合规范的数据16.6.2日期16.6.3域名16.7更多信息16.7.1附录16.7.2互联网的国际化16.7.3国际标准第17章内容协商与转码17.1内容协商技术17.2客户端驱动的协商17.3服务器驱动的协商17.3.1内容协商首部集17.3.2内容协商首部中的质量值17.3.3随其他首部集而变化17.3.4Apache中的内容协商17.3.5服务器端扩展17.4透明协商17.4.1进行缓存与备用候选17.4.2Vary首部17.5转码17.5.1格式转换17.5.2信息综合17.5.3内容注入17.5.4转码与静态预生成的对比17.6下一步计划17.7更多信息第五部分内容发布与分发第18章Web主机托管18.1主机托管服务18.2虚拟主机托管18.2.1虚拟服务器请求缺乏主机信息18.2.2设法让虚拟主机托管正常工作18.2.3HTTP/1.1的Host首部18.3使网站更可靠18.3.1镜像的服务器集群18.3.2内容分发网络18.3.3CDN中的反向代理缓存18.3.4CDN中的代理缓存18.4让网站更快18.5更多信息第19章发布系统19.1FrontPage为支持发布而做的服务器扩展19.1.1FrontPage服务器扩展19.1.2FrontPage术语表19.1.3FrontPage的RPC协议19.1.4FrontPage的安全模型19.2WebDAV与协作写作19.2.1WebDAV的方法19.2.2WebDAV与XML19.2.3WebDAV首部集19.2.4WebDAV的锁定与防止覆写19.2.5LOCK方法19.2.6UNLOCK方法19.2.7属性和元数据19.2.8PROPFIND方法19.2.9PROPPATCH方法19.2.10集合与名字空间管理19.2.11MKCOL方法19.2.12DELETE方法19.2.13COPY与MOVE方法19.2.14增强的HTTP/1.1方法19.2.15WebDAV中的版本管理19.2.16WebDAV的未来发展19.3更多信息第20章重定向与负载均衡20.1为什么要重定向20.2重定向到何地20.3重定向协议概览20.4通用的重定向方法20.4.1HTTP重定向20.4.2DNS重定向20.4.3任播寻址20.4.4IPMAC转发20.4.5IP地址转发20.4.6网元控制协议20.5代理的重定向方法20.5.1显式浏览器配置20.5.2代理自动配置20.5.3Web代理自动发现协议20.6缓存重定向方法20.7因特网缓存协议20.8缓存阵列路由协议20.9超文本缓存协议20.9.1HTCP认证20.9.2设置缓存策略20.10更多信息第21章日志记录与使用情况跟踪21.1记录内容21.2日志格式21.2.1常见日志格式21.2.2组合日志格式21.2.3网景扩展日志格式21.2.4网景扩展2日志格式21.2.5Squid代理日志格式21.3命中率测量21.3.1概述21.3.2Meter首部21.4关于隐私的考虑21.5更多信息第六部分附录附录AURI方案附录BHTTP状态码附录CHTTP首部参考附录DMIME类型附录EBase-64编码附录F摘要认证附录G语言标记附录HMIME字符集注册表索引
  • 内容简介:
    HTTP(HyperTextTransferProtocol,超文本传输协议)是Web客户端与服务器交互文档和信息时所使用的协议,是每个成功Web事务的幕后推手。众所周知,我们每天访问公司内部网络、搜索绝版书籍、研究统计信息时所使用的浏览器的核心就是HTTP。但HTTP的应用远不仅仅是浏览Web内容。由于HTTP既简单又普及,很多其他网络应用程序也选择了它,尤其是采用SOAP和XML-RPC这样的Web服务。详细解释了HTTP协议,包括它是如何工作的,如何用它来开发基于Web的应用程序。但本书并不只介绍了HTTP,还探讨了HTTP有效工作所依赖的所有其他核心因特网技术。尽管HTTP是本书的中心内容,但本书的本质是理解Web的工作原理,以及如何将这些知识应用到Web编程和管理之中去,主要涵盖HTTP的技术运作方式、产生动机、性能和目标,以及一些相关技术问题。本书是HTTP协议及相关Web技术方面的著作,主要内容包括:HTTP方法、首部以及状态码优化代理和缓存的方法设计Web机器人和爬虫的策略Cookies、认证以及安全HTTP国际化及内容协商重定向及负载平衡策略本书由具有多年实践经验的专家编写,通过简洁语言和大量翔实的细节图解帮助读者形象地理解Web幕后所发生的事情,详细说明了Web上每条请求的实际运行情况。要想高效地进行Web开发,所有Web程序员、管理员和应用程序开发者都应该熟悉HTTP。很多书籍只介绍了Web的使用方式,而本书则深入说明了Web的工作原理。
  • 作者简介:
      DavidGourley,Endeca的首席技术官(ChiefTechnologyOfficer),负责Endeca产品的研究及开发。Endeca开发的因特网及内部网络信息访问解决方案为企业级数据的导航及研究提供了一些新的方式。在到Endeca工作之前,David是Inktomi基础工程组的一员,他在那儿帮助开发了Inktomi的因特网搜索数据库,是Inktomi的Web缓存产品的主要开发者。David在加州大学伯克利分校获得了计算机科学的学士学位,还拥有Web技术方面的几项专利。  BrianTotty,出任了Inktomi公司(这是1996年他参与建立的一家公司)研发部副总裁,在公司中他负责Web缓存、流媒体及因特网搜索技术的研发工作。他曾是SiliconGraphics公司的一名科学家,他在那儿为高性能网络和超级计算机系统设计软件并对其进行优化。在那之前,他是苹果计算机公司高级技术组的一名工程师。Brian在伊利诺伊大学Urbana-Champaign分校获得了计算机科学的博士学位,在MIT获得了计算机科学及电子工程的学士学位,在那里他获得了计算机系统研究的Organick奖。他还为加州大学扩展系统开发并讲授了一些屡获殊荣的因特网技术方面的课程。  MarjorieSayer在Inktomi公司负责编写Web缓存方面的软件。在加州大学伯克利分校获得了数学硕士和博士学位之后,一直致力于数学课程的改革。从1990年开始致力于能量资源管理、并行系统软件、电话和网络方面的写作。  SailuReddy目前在Inktomi公司负责嵌入式的性能增强型HTTP代理的开发。Sailu从事复杂软件系统的开发已经有12年了,从1995年开始深入Web架构的研发工作。他是NetscapeWeb服务器、Web代理产品,以及后面几代产品的核心工程师。他具备HTTP应用程序、数据压缩技术、数据库引擎以及合作管理等方面的技术经验。Sailu在亚里桑那大学获得了信息系统的硕士学位并握有Web技术方面的多项专利。  AnshuAggarwal是Inktomi公司的工程总监。他领导着Inktomi公司Web缓存产品的协议处理工程组,从1997年就开始参与Inktomi的Web技术设计工作。Anshu在科罗拉多大学Boulder分校获得了计算机科学的硕士和博士学位,从事分布式多处理器的内存一致性技术研究。他还拥有电子工程的硕士和学士学位。Anshu撰写了多篇技术论文,还拥有两项专利。
  • 目录:
    第一部分HTTP:Web的基础第1章HTTP概述1.1HTTP——因特网的多媒体信使1.2Web客户端和服务器1.3资源1.3.1媒体类型1.3.2URI1.3.3URL1.3.4URN1.4事务1.4.1方法1.4.2状态码1.4.3Web页面中可以包含多个对象1.5报文1.6连接1.6.1TCP/IP1.6.2连接、IP地址及端口号1.6.3使用Telnet实例1.7协议版本1.8Web的结构组件1.8.1代理1.8.2缓存1.8.3网关1.8.4隧道1.8.5Agent代理1.9起始部分的结束语1.10更多信息1.10.1HTTP协议信息1.10.2历史透视1.10.3其他万维网信息第2章URL与资源2.1浏览因特网资源2.2URL的语法2.2.1方案——使用什么协议2.2.2主机与端口2.2.3用户名和密码2.2.4路径2.2.5参数2.2.6查询字符串2.2.7片段2.3URL快捷方式2.3.1相对URL2.3.2自动扩展URL2.4各种令人头疼的字符2.4.1URL字符集2.4.2编码机制2.4.3字符限制2.4.4另外一点说明2.5方案的世界2.6未来展望2.7更多信息第3章HTTP报文3.1报文流3.1.1报文流入源端服务器3.1.2报文向下游流动3.2报文的组成部分3.2.1报文的语法3.2.2起始行3.2.3首部3.2.4实体的主体部分3.2.5版本0.9的报文3.3方法3.3.1安全方法3.3.2GET3.3.3HEAD3.3.4PUT3.3.5POST3.3.6TRACE3.3.7OPTIONS3.3.8DELETE3.3.9扩展方法3.4状态码3.4.1100~199——信息性状态码3.4.2200~299——成功状态码3.4.3300~399——重定向状态码3.4.4400~499——客户端错误状态码3.4.5500~599——服务器错误状态码3.5首部3.5.1通用首部3.5.2请求首部3.5.3响应首部3.5.4实体首部3.6更多信息第4章连接管理4.1TCP连接4.1.1TCP的可靠数据管道4.1.2TCP流是分段的、由IP分组传送4.1.3保持TCP连接的正确运行4.1.4用TCP套接字编程4.2对TCP性能的考虑4.2.1HTTP事务的时延4.2.2性能聚焦区域4.2.3TCP连接的握手时延4.2.4延迟确认4.2.5TCP慢启动4.2.6Nagle算法与TCP_NODELAY4.2.7TIME_WAIT累积与端口耗尽4.3HTTP连接的处理4.3.1常被误解的Connection首部4.3.2串行事务处理时延4.4并行连接4.4.1并行连接可能会提高页面的加载速度4.4.2并行连接不一定更快4.4.3并行连接可能让人“感觉”更快一些4.5持久连接4.5.1持久以及并行连接4.5.2HTTP/1.0+keep-alive连接4.5.3Keep-Alive操作4.5.4Keep-Alive选项4.5.5Keep-Alive连接的限制和规则4.5.6Keep-Alive和哑代理4.5.7插入Proxy-Connection4.5.8HTTP/1.1持久连接4.5.9持久连接的限制和规则4.6管道化连接4.7关闭连接的奥秘4.7.1“任意”解除连接4.7.2Content-Length及截尾操作4.7.3连接关闭容限、重试以及幂等性4.7.4正常关闭连接4.8更多信息4.8.1HTTP连接4.8.2HTTP性能问题4.8.3TCP/IP第二部分HTTP结构第5章Web服务器5.1各种形状和尺寸的Web服务器5.1.1Web服务器的实现5.1.2通用软件Web服务器5.1.3Web服务器设备5.1.4嵌入式Web服务器5.2最小的PerlWeb服务器5.3实际的Web服务器会做些什么5.4第一步——接受客户端连接5.4.1处理新连接5.4.2客户端主机名识别5.4.3通过ident确定客户端用户5.5第二步——接收请求报文5.5.1报文的内部表示法5.5.2连接的输入/输出处理结构5.6第三步——处理请求5.7第四步——对资源的映射及访问5.7.1docroot5.7.2目录列表5.7.3动态内容资源的映射5.7.4服务器端包含项5.7.5访问控制5.8第五步——构建响应5.8.1响应实体5.8.2MIME类型5.8.3重定向5.9第六步——发送响应5.10第七步——记录日志5.11更多信息第6章代理6.1Web的中间实体6.1.1私有和共享代理6.1.2代理与网关的对比6.2为什么使用代理6.3代理会去往何处6.3.1代理服务器的部署6.3.2代理的层次结构6.3.3代理是如何获取流量的6.4客户端的代理设置6.4.1客户端的代理配置:手工配置6.4.2客户端代理配置:PAC文件6.4.3客户端代理配置:WPAD6.5与代理请求有关的一些棘手问题6.5.1代理URI与服务器URI的不同6.5.2与虚拟主机一样的问题6.5.3拦截代理会收到部分URI6.5.4代理既可以处理代理请求,也可以处理服务器请求6.5.5转发过程中对URI的修改6.5.6URI的客户端自动扩展和主机名解析6.5.7没有代理时URI的解析6.5.8有显式代理时URI的解析6.5.9有拦截代理时URI的解析6.6追踪报文6.6.1Via首部6.6.2TRACE方法6.7代理认证6.8代理的互操作性6.8.1处理代理不支持的首部和方法6.8.2OPTIONS:发现对可选特性的支持6.8.3Allow首部6.9更多信息第7章缓存7.1冗余的数据传输7.2带宽瓶颈7.3瞬间拥塞7.4距离时延7.5命中和未命中的7.5.1再验证7.5.2命中率7.5.3字节命中率7.5.4区分命中和未命中的情况7.6缓存的拓扑结构7.6.1私有缓存7.6.2公有代理缓存7.6.3代理缓存的层次结构7.6.4网状缓存、内容路由以及对等缓存7.7缓存的处理步骤7.7.1第一步——接收7.7.2第二步——解析7.7.3第三步——查找7.7.4第四步——新鲜度检测7.7.5第五步——创建响应7.7.6第六步——发送7.7.7第七步——日志7.7.8缓存处理流程图7.8保持副本的新鲜7.8.1文档过期7.8.2过期日期和使用期7.8.3服务器再验证7.8.4用条件方法进行再验证7.8.5If-Modified-Since:Date再验证7.8.6If-None-Match:实体标签再验证7.8.7强弱验证器7.8.8什么时候应该使用实体标签和最近修改日期7.9控制缓存的能力7.9.1no-Store与no-Cache响应首部7.9.2max-age响应首部7.9.3Expires响应首部7.9.4must-revalidate响应首部7.9.5试探性过期7.9.6客户端的新鲜度限制7.9.7注意事项7.10设置缓存控制7.10.1控制Apache的HTTP首部7.10.2通过HTTP-EQUIV控制HTML缓存7.11详细算法7.11.1使用期和新鲜生存期7.11.2使用期的计算7.11.3完整的使用期计算算法7.11.4新鲜生存期计算7.11.5完整的服务器——新鲜度算法7.12缓存和广告7.12.1发布广告者的两难处境7.12.2发布者的响应7.12.3日志迁移7.12.4命中计数和使用限制7.13更多信息第8章集成点:网关、隧道及中继8.1网关8.2协议网关8.2.1HTTP/*:服务器端Web网关8.2.2HTTP/HTTPS:服务器端安全网关8.2.3HTTPS/HTTP客户端安全加速器网关8.3资源网关8.3.1CGI8.3.2服务器扩展API8.4应用程序接口和Web服务8.5隧道8.5.1用CONNECT建立HTTP隧道8.5.2数据隧道、定时及连接管理8.5.3SSL隧道8.5.4SSL隧道与HTTP/HTTPS网关的对比8.5.5隧道认证8.5.6隧道的安全性考虑8.6中继8.7更多信息第9章Web机器人9.1爬虫及爬行方式9.1.1从哪儿开始:根集9.1.2链接的提取以及相对链接的标准化9.1.3避免环路的出现9.1.4循环与复制9.1.5面包屑留下的痕迹9.1.6别名与机器人环路9.1.7规范化URL9.1.8文件系统连接环路9.1.9动态虚拟Web空间9.1.10避免循环和重复9.2机器人的HTTP9.2.1识别请求首部9.2.2虚拟主机9.2.3条件请求9.2.4对响应的处理9.2.5User-Agent导向9.3行为不当的机器人9.4拒绝机器人访问9.4.1拒绝机器人访问标准9.4.2Web站点和robots.txt文件9.4.3robots.txt文件的格式9.4.4其他有关robots.txt的知识9.4.5缓存和robots.txt的过期9.4.6拒绝机器人访问的Perl代码9.4.7HTML的robot-control元标签9.5机器人的规范9.6搜索引擎9.6.1大格局9.6.2现代搜索引擎结构9.6.3全文索引9.6.4发布查询请求9.6.5对结果进行排序,并提供查询结果9.6.6欺诈9.7更多信息第10章HTTP-NG10.1HTTP发展中存在的问题10.2HTTP-NG的活动10.3模块化及功能增强10.4分布式对象10.5第一层——报文传输10.6第二层——远程调用10.7第三层——Web应用10.8WebMUX10.9二进制连接协议10.10当前的状态10.11更多信息第三部分识别、认证与安全第11章客户端识别与cookie机制11.1个性化接触11.2HTTP首部11.3客户端IP地址11.4用户登录11.5胖URL11.6cookie11.6.1cookie的类型11.6.2cookie是如何工作的11.6.3cookie罐:客户端的状态11.6.4不同站点使用不同的cookie11.6.5cookie成分11.6.6cookies版本0(Netscape)11.6.7cookies版本1(RFC2965)11.6.8cookie与会话跟踪11.6.9cookie与缓存11.6.10cookie、安全性和隐私11.7更多信息第12章基本认证机制12.1认证12.1.1HTTP的质询/响应认证框架12.1.2认证协议与首部12.1.3安全域12.2基本认证12.2.1基本认证实例12.2.2Base-64用户名/密码编码12.2.3代理认证12.3基本认证的安全缺陷12.4更多信息第13章摘要认证13.1摘要认证的改进13.1.1用摘要保护密码13.1.2单向摘要13.1.3用随机数防止重放攻击13.1.4摘要认证的握手机制13.2摘要的计算13.2.1摘要算法的输入数据13.2.2算法H(d)和KD(s,d)13.2.3与安全性相关的数据(A1)13.2.4与报文有关的数据(A2)13.2.5摘要算法总述13.2.6摘要认证会话13.2.7预授权13.2.8随机数的选择13.2.9对称认证13.3增强保护质量13.3.1报文完整性保护13.3.2摘要认证首部13.4应该考虑的实际问题13.4.1多重质询13.4.2差错处理13.4.3保护空间13.4.4重写URI13.4.5缓存13.5安全性考虑13.5.1首部篡改13.5.2重放攻击13.5.3多重认证机制13.5.4词典攻击13.5.5恶意代理攻击和中间人攻击13.5.6选择明文攻击13.5.7存储密码13.6更多信息第14章安全HTTP14.1保护HTTP的安全14.2数字加密14.2.1密码编制的机制与技巧14.2.2密码14.2.3密码机14.2.4使用了密钥的密码14.2.5数字密码14.3对称密钥加密技术14.3.1密钥长度与枚举攻击14.3.2建立共享密钥14.4公开密钥加密技术14.4.1RSA14.4.2混合加密系统和会话密钥14.5数字签名14.6数字证书14.6.1证书的主要内容14.6.2X.509v3证书14.6.3用证书对服务器进行认证14.7HTTPS——细节介绍14.7.1HTTPS概述14.7.2HTTPS方案14.7.3建立安全传输14.7.4SSL握手14.7.5服务器证书14.7.6站点证书的有效性14.7.7虚拟主机与证书14.8HTTPS客户端实例14.8.1OpenSSL14.8.2简单的HTTPS客户端14.8.3执行OpenSSL客户端14.9通过代理以隧道形式传输安全流量14.10更多信息14.10.1HTTP安全性14.10.2SSL与TLS14.10.3公开密钥基础设施14.10.4数字密码第四部分实体、编码和国际化第15章实体和编码15.1报文是箱子,实体是货物15.2Content-Length:实体的大小15.2.1检测截尾15.2.2错误的Content-Length15.2.3Content-Length与持久连接15.2.4内容编码15.2.5确定实体主体长度的规则15.3实体摘要15.4媒体类型和字符集15.4.1文本的字符编码15.4.2多部分媒体类型15.4.3多部分表格提交15.4.4多部分范围响应15.5内容编码15.5.1内容编码过程15.5.2内容编码类型15.5.3Accept-Encoding首部15.6传输编码和分块编码15.6.1可靠传输15.6.2Transfer-Encoding首部15.6.3分块编码15.6.4内容编码与传输编码的结合15.6.5传输编码的规则15.7随时间变化的实例15.8验证码和新鲜度15.8.1新鲜度15.8.2有条件的请求与验证码15.9范围请求15.10差异编码15.11更多信息第16章国际化16.1HTTP对国际性内容的支持16.2字符集与HTTP16.2.1字符集是把字符转换为二进制码的编码16.2.2字符集和编码如何工作16.2.3字符集不对,字符就不对16.2.4标准化的MIMEcharset值16.2.5Content-Type首部和Charset首部以及META标志16.2.6Accept-Charset首部16.3多语言字符编码入门16.3.1字符集术语16.3.2字符集的命名很糟糕16.3.3字符16.3.4字形、连笔以及表示形式16.3.5编码后的字符集16.3.6字符编码方案16.4语言标记与HTTP16.4.1Content-Language首部16.4.2Accept-Language首部16.4.3语言标记的类型16.4.4子标记16.4.5大小写16.4.6IANA语言标记注册16.4.7第一个子标记——名字空间16.4.8第二个子标记——名字空间16.4.9其余子标记——名字空间16.4.10配置和语言有关的首选项16.4.11语言标记参考表16.5国际化的URI16.5.1全球性的可转抄能力与有意义的字符的较量16.5.2URI字符集合16.5.3转义和反转义16.5.4转义国际化字符16.5.5URI中的模态切换16.6其他需要考虑的地方16.6.1首部和不合规范的数据16.6.2日期16.6.3域名16.7更多信息16.7.1附录16.7.2互联网的国际化16.7.3国际标准第17章内容协商与转码17.1内容协商技术17.2客户端驱动的协商17.3服务器驱动的协商17.3.1内容协商首部集17.3.2内容协商首部中的质量值17.3.3随其他首部集而变化17.3.4Apache中的内容协商17.3.5服务器端扩展17.4透明协商17.4.1进行缓存与备用候选17.4.2Vary首部17.5转码17.5.1格式转换17.5.2信息综合17.5.3内容注入17.5.4转码与静态预生成的对比17.6下一步计划17.7更多信息第五部分内容发布与分发第18章Web主机托管18.1主机托管服务18.2虚拟主机托管18.2.1虚拟服务器请求缺乏主机信息18.2.2设法让虚拟主机托管正常工作18.2.3HTTP/1.1的Host首部18.3使网站更可靠18.3.1镜像的服务器集群18.3.2内容分发网络18.3.3CDN中的反向代理缓存18.3.4CDN中的代理缓存18.4让网站更快18.5更多信息第19章发布系统19.1FrontPage为支持发布而做的服务器扩展19.1.1FrontPage服务器扩展19.1.2FrontPage术语表19.1.3FrontPage的RPC协议19.1.4FrontPage的安全模型19.2WebDAV与协作写作19.2.1WebDAV的方法19.2.2WebDAV与XML19.2.3WebDAV首部集19.2.4WebDAV的锁定与防止覆写19.2.5LOCK方法19.2.6UNLOCK方法19.2.7属性和元数据19.2.8PROPFIND方法19.2.9PROPPATCH方法19.2.10集合与名字空间管理19.2.11MKCOL方法19.2.12DELETE方法19.2.13COPY与MOVE方法19.2.14增强的HTTP/1.1方法19.2.15WebDAV中的版本管理19.2.16WebDAV的未来发展19.3更多信息第20章重定向与负载均衡20.1为什么要重定向20.2重定向到何地20.3重定向协议概览20.4通用的重定向方法20.4.1HTTP重定向20.4.2DNS重定向20.4.3任播寻址20.4.4IPMAC转发20.4.5IP地址转发20.4.6网元控制协议20.5代理的重定向方法20.5.1显式浏览器配置20.5.2代理自动配置20.5.3Web代理自动发现协议20.6缓存重定向方法20.7因特网缓存协议20.8缓存阵列路由协议20.9超文本缓存协议20.9.1HTCP认证20.9.2设置缓存策略20.10更多信息第21章日志记录与使用情况跟踪21.1记录内容21.2日志格式21.2.1常见日志格式21.2.2组合日志格式21.2.3网景扩展日志格式21.2.4网景扩展2日志格式21.2.5Squid代理日志格式21.3命中率测量21.3.1概述21.3.2Meter首部21.4关于隐私的考虑21.5更多信息第六部分附录附录AURI方案附录BHTTP状态码附录CHTTP首部参考附录DMIME类型附录EBase-64编码附录F摘要认证附录G语言标记附录HMIME字符集注册表索引
查看详情
其他版本 / 全部 (1)
好书推荐 / 更多
HTTP权威指南
暂坐
贾平凹 著
HTTP权威指南
曾彦修回忆录:平生六记
曾彦修 著
HTTP权威指南
量子与生活:重新认识自我、他人与世界的关系
[英]丹娜·左哈尔 著
HTTP权威指南
工业革命(1760-1830)
[英]T.S.阿什顿 著;李冠杰 译
HTTP权威指南
正午之魔:抑郁是你我共有的秘密
[英]安德鲁·所罗门 著
HTTP权威指南
情感的演化:20世纪情绪心理学简史
[英]露丝·雷斯
HTTP权威指南
托克维尔之钥
[美]詹姆斯·T.施莱费尔· 著;盛仁杰 · 译
HTTP权威指南
图像学:形象、文本、意识形态
W.J.T.米歇尔
HTTP权威指南
少女的沉默:以女性视角重述《伊利亚特》英雄史诗的背后是女人无声的悲怆!
[英]派特巴克 著
HTTP权威指南
好的经济学 2019诺贝尔奖贫穷的本质作者新作
[美]阿比吉特·班纳吉;[法]埃斯特·迪弗洛
HTTP权威指南
中国政治思想史
刘泽华 著
HTTP权威指南
美国怎么了:绝望的死亡与资本主义的未来
安妮·凯斯(Anne Case);安格斯·迪顿(AngusDeaton)