本文为粗读完一遍HTTP权威指南的读书笔记
第一章
1.1HTTP——因特网的多媒体信使
- HTTP使用的是可靠的数据传输协议,数据不会出现损坏或产生混乱。
1.2Web客户端和服务器- web服务器 = HTTP服务器
- web资源是指产生web内容的东西,如搜索引擎、web服务器中的静态文件
14.1 方法
除了post一些表单之外,客户端只是获取资源(只进基本不出)
1.6.1TCP/IP - TCP提供了:
- 无差错的数据传输
- 按序传输
- 未分段的数据流
- Q:数据传输的顺序是由谁定的呢???
第二章 URL与资源
2.2.7片段
1. 为了引用部分资源或资源的一个片段,URL 支持使用片段组件来表示一个资源内部的片段。例如 http://www.baidu.com/tools.html#drills
第三章
3.5.2请求头部
1. cookie 隐藏安全功能
2. cookie2 用来说明请求端支持的cookie版本
第四章
4.1.2TCP是分段的、由IP分组传送
1. HTTPS就是在http和tcp之间插入了一个(称为TLS或SSL的) 密码加密层
2. TCP连接格
<源IP地址、源端口号、目的IP地址、目的端口号> 这四个值一起唯一定义了一条连接。
4.1.4用TCP套接字编程
1. socket这里指TCP编程接口。
4.5.2HTTP/1.0+keep-alive连接
1. 由于去除了进行连接和关闭连接的开销,所以时间线有所缩减。
第五章
5.3实际的Web服务器会做些什么
1. 建立连接——接受一个客户端连接,或者如果不愿意与这个客户端建立连接,就将其关闭。
2. 接收请求——从网络中读取一条HTTP请求报文
3. 处理请求——对请求报文进行解释,并采取行动
4. 访问资源——访问报文中指定的资源
5. 构建响应——创建带有正确首部的HTTP响应报文
6. 发送响应——将响应回送给客户端
7. 记录事务处理过程——将已完成事务有关的内容记录在一个日子文件中
5.8.3重定向
使用场景
- 永久删除的资源,状态码303,返回新的URL地址给客户端,客户端就可以从新地址获取资源了
- 临时删除的资源,不对书签等进行更新
- URL增强,服务器生成一个包含了嵌入式状态信息的URL,并将用户重定向到这个新的URL上去。客户端会重新发起请求,这次的请求包含完整的,经过状态增强的URL。
- 负载均衡,一个超载的服务器收到一条请求,服务器可以将客户端重定向到一个负载不太重的服务器上去,状态码303、307可用于此类重定向。
- 服务器关联,web服务器上可能有某些用户的本地信息,服务器可以将客户端重定向到包含了那个客户端信息的服务器上去。
- 规范目录名称,客户端URI末尾没有带斜线,大多数web服务器都会将客户端重定向一个加了斜线的URI上,这样相对链接就可以正常工作了。
第六章
6.1.2 代理与网关的对比
- 代理即使服务器又是客户端
- 代理连接的是两个或多个使用相同协议的应用程序,而网关连接的则是两个或多个不同协议的端点
6.2为什么使用代理
1. 儿童过滤器,强行禁止儿童访问色情网站
2. 文档访问控制,创建审核跟踪机制,这在大型企业环境或其他分布式机构中很有用
备注:为防止一些经验丰富的用户蓄意绕过控制代理,可以静态地配置web服务器,使其仅接受来自代理服务器的请求。
3. 安全访问
代理服务器会在网络中的单一安全节点上限制哪些应用层协议的数据可以流入或流出一个组织。还可以提供用来消除病毒的Web和E-mail 代理使用的那种挂钩程序,以便对流量进行详细的检查。
4. Web缓存
代理缓存维护了常用文档的本地副本,并将它们按需提供,以减少缓慢且昂贵的因特网通信
5. 反向代理
可以假扮web服务器,这些被称为替代物或反向代理的代理接受客户端请求,它们可以发起与其他服务器的通信,以便按需 定位所请求的内容。可以用这些代理提高访问慢速web服务器上公告内容时的性能(服务器加速器)
6.内容路由器
7.转码器
8.匿名访问
代理服务器可以删除HTTP报文中的身份特征
6.3.1代理服务器的部署
第八章 集成点:网关、隧道及中继
8.1网关
1.资源型网关
2.其他类型的网关
第九章 web机器人
1.书籍推荐:《海量数据管理——文档和图像的压缩与索引》
2.下图——产品级搜索引擎中包含了一些协作的爬虫和查询网关
3.下图——显示了三份文档和相应的全文索引。全文索引列出了包含每个单词的文档。
9.6.5 对结果进行排序、并提供查询结果
第十一章
11.6.3cookie罐:客户端的状态,下图——cookie的几七个属性
11.6.8 cookie与会话跟踪
从amazon.com 的访问中捕获的事务序列
第十二章
12.1.1认证协议与首部
简化的质询/响应认证框架
第十三章
13.1摘要认证
摘要认证修改了认证协议的严重缺陷,具体来说,摘要认证进行了如下改进
- 永远不会一明文方式在网络上发送密码
- 永远防止恶意用户捕获并重放认证的握手过程
- 有选择地防止对报文内容的篡改