读书《HTTP权威指南》

第1 章 HTTP 概述

1.1 HTTP——因特网的多媒体信使

1.2 Web 客户端和服务器

1.3 资源

1.3.1 媒体类型

MIME 类型是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间

由一条斜杠来分隔。

? HTML 格式的文本文档由text/html 类型来标记。

? 普通的ASCII 文本文档由text/plain 类型来标记。

? JPEG 版本的图片为image/jpeg 类型。

? GIF 格式的图片为image/gif 类型。

? Apple 的QuickTime 电影为video/quicktime 类型。

? 微软的PowerPoint 演示文件为application/vnd.ms-powerpoint 类型。

1.3.2 URI

服务器资源名被称为统一资源标识符(Uniform Resource Identifier,URI)。

URI 就像因特网上的邮政地址一样,在世界范围内唯一标识并定位信息资源。

1.3.3 URL

统一资源定位符(URL)是资源标识符最常见的形式。URL 描述了一台特定服务器

上某资源的特定位置。

大部分URL 都遵循一种标准格式,这种格式包含三个部分。

? URL 的第一部分被称为方案(scheme),说明了访问资源所使用的协议类型。这

部分通常就是HTTP 协议(http://)。

? 第二部分给出了服务器的因特网地址(比如,www.joes-hardware.com)。

? 其余部分指定了Web 服务器上的某个资源(比如,/specials/saw-blade.gif)。

现在,几乎所有的URI 都是URL。

1.3.4 URN

URI 的第二种形式就是统一资源名(URN)

URN 仍然处于试验阶段,还未大范围使用。为了更有效地工作,URN 需要一个支

撑架构来解析资源的位置。而此类架构的缺乏也延缓了其被采用的进度。

1.4 事务

1.4.1 方法

GET 从服务器向客户端发送命名资源

PUT 将来自客户端的数据存储到一个命名的服务器资源中去

DELETE 从服务器中删除命名资源

POST 将客户端数据发送到一个服务器网关应用程序

HEAD 仅发送命名资源响应中的HTTP 首部

1.4.2 状态码

200 OK。文档正确返回

302 Redirect(重定向)。到其他地方去获取资源

404 Not Found(没找到)。无法找到这个资源

1.4.3 Web 页面中可以包含多个对象

1.5 报文

HTTP 报文是由一行一行的简单字符串组成的。HTTP 报文都是纯文本,不是二进

制代码

HTTP 报文包括以下三个部分。

? 起始行

报文的第一行就是起始行,在请求报文中用来说明要做些什么,在响应报文中说

明出现了什么情况。

? 首部字段

起始行后面有零个或多个首部字段。每个首部字段都包含一个名字和一个值,为

了便于解析,两者之间用冒号(:)来分隔。首部以一个空行结束。添加一个首

部字段和添加新行一样简单。

? 主体

空行之后就是可选的报文主体了,其中包含了所有类型的数据。请求主体中包括

了要发送给Web 服务器的数据;响应主体中装载了要返回给客户端的数据。起

始行和首部都是文本形式且都是结构化的,而主体则不同,主体中可以包含任意

的二进制数据(比如图片、视频、音轨、软件程序)。当然,主体中也可以包含

文本。

1.6 连接

1.6.1 TCP/IP

1.6.2 连接、IP 地址及端口号

1.6.3 使用Telnet 实例

1.7 协议版本

1.8 Web 的结构组件

1.8.1 代理

1.8.2 缓存

1.8.3 网关

1.8.4 隧道

1.8.5 Agent 代理

1.9 起始部分的结束语

1.10 更多信息

1.10.1 HTTP 协议信息

1.10.2 历史透视

1.10.3 其他万维网信息

第2 章 URL 与资源

2.1 浏览因特网资源

2.2 URL 的语法

2.2.1 方案——使用什么协议

2.2.2 主机与端口

2.2.3 用户名和密码

http://user:pwd@host :/path

2.2.4 路径

2.2.5 参数

2.2.6 查询字符串

2.2.7 片段

2.3 URL 快捷方式

2.3.1 相对URL

2.3.2 自动扩展URL

2.4 各种令人头疼的字符

2.4.1 URL 字符集

2.4.2 编码机制

%20%25%7E %~

2.4.3 字符限制

2.4.4 另外一点说明

2.5 方案的世界

http,https,mailto,ftp,rtsp,rtspu,file,news,telnet

2.6 未来展望

2.7 更多信息

URN

第3 章 HTTP 报文

3.1 报文流

3.1.1 报文流入源端服务器

3.1.2 报文向下游流动

3.2 报文的组成部分

3.2.1 报文的语法

GET,HEAD,POST,PUT,TRACE,OPTIONS,DELETE

100-101

200-206

300-305

400-415

500-515

3.2.2 起始行

3.2.3 首部

3.2.4 实体的主体部分

3.2.5 版本0.9 的报文

3.3 方法

3.3.1 安全方法

3.3.2 GET HEAD+BODY

3.3.3 HEAD HEAD

3.3.4 PUT

3.3.5 POST

3.3.6 TRACE

3.3.7 OPTIONS

3.3.8 DELETE

3.3.9 扩展方法

3.4 状态码

3.4.1 100 ~ 199——信息性状态码

3.4.2 200 ~ 299——成功状态码

3.4.3 300 ~ 399——重定向状态码

3.4.4 400 ~ 499——客户端错误状态码

3.4.5 500 ~ 599——服务器错误状态码

3.5 首部

3.5.1 通用首部

3.5.2 请求首部

3.5.3 响应首部

3.5.4 实体首部

3.6 更多信息

第4 章 连接管理

4.1 TCP 连接

4.1.1 TCP 的可靠数据管道

4.1.2 TCP 流是分段的、由IP 分组传送

4.1.3 保持TCP 连接的正确运行

4.1.4 用TCP 套接字编程

4.2 对TCP 性能的考虑

4.2.1 HTTP 事务的时延

4.2.2 性能聚焦区域

4.2.3 TCP 连接的握手时延

4.2.4 延迟确认

4.2.5 TCP 慢启动

4.2.6 Nagle 算法与TCP_NODELAY

4.2.7 TIME_WAIT 累积与端口耗尽

4.3 HTTP 连接的处理

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.2 HTTP/1.0+ keep-alive 连接

4.5.3 Keep-Alive 操作

4.5.4 Keep-Alive 选项

4.5.5 Keep-Alive 连接的限制和规则

4.5.6 Keep-Alive 和哑代理

4.5.7 插入Proxy-Connection

4.5.8 HTTP/1.1 持久连接

4.5.9 持久连接的限制和规则

4.6 管道化连接

4.7 关闭连接的奥秘

4.7.1 “ 任意”解除连接

4.7.2 Content-Length 及截尾操作

4.7.3 连接关闭容限、重试以及幂等性

4.7.4 正常关闭连接

4.8 更多信息

4.8.1 HTTP 连接

4.8.2 HTTP 性能问题

4.8.3 TCP/IP

第二部分 HTTP 结构

第5 章 Web 服务器

5.1 各种形状和尺寸的Web 服务器

5.1.1 Web 服务器的实现

5.1.2 通用软件Web 服务器

5.1.3 Web 服务器设备

5.1.4 嵌入式Web 服务器

5.2 最小的Perl Web 服务器

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.1 docroot

5.7.2 目录列表

5.7.3 动态内容资源的映射

5.7.4 服务器端包含项

5.7.5 访问控制

5.8 第五步——构建响应

5.8.1 响应实体

5.8.2 MIME 类型

5.8.3 重定向

5.9 第六步——发送响应

5.10 第七步——记录日志

5.11 更多信息

第6 章 代理

6.1 Web 的中间实体

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 客户端代理配置:WPAD

6.5 与代理请求有关的一些棘手问题

6.5.1 代理URI 与服务器URI 的不同

6.5.2 与虚拟主机一样的问题

6.5.3 拦截代理会收到部分URI

6.5.4 代理既可以处理代理请求,也可以处理服务器请求

6.5.5 转发过程中对URI 的修改

6.5.6 URI 的客户端自动扩展和主机名解析

6.5.7 没有代理时URI 的解析

6.5.8 有显式代理时URI 的解析

6.5.9 有拦截代理时URI 的解析

6.6 追踪报文

6.6.1 Via 首部

6.6.2 TRACE 方法

6.7 代理认证

6.8 代理的互操作性

6.8.1 处理代理不支持的首部和方法

6.8.2 OPTIONS:发现对可选特性的支持

6.8.3 Allow 首部

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.5 If-Modified-Since:Date 再验证

7.8.6 If-None-Match:实体标签再验证

7.8.7 强弱验证器

7.8.8 什么时候应该使用实体标签和最近修改日期

7.9 控制缓存的能力

7.9.1 no-Store 与no-Cache 响应首部

7.9.2 max-age 响应首部

7.9.3 Expires 响应首部

7.9.4 must-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.1 HTTP/*:服务器端Web 网关

8.2.2 HTTP/HTTPS:服务器端安全网关

8.2.3 HTTPS/HTTP 客户端安全加速器网关

8.3 资源网关

8.3.1 CGI

8.3.2 服务器扩展API

8.4 应用程序接口和Web 服务

8.5 隧道

8.5.1 用CONNECT 建立HTTP 隧道

8.5.2 数据隧道、定时及连接管理

8.5.3 SSL 隧道

8.5.4 SSL 隧道与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 规范化URL

9.1.8 文件系统连接环路

9.1.9 动态虚拟Web 空间

9.1.10 避免循环和重复

9.2 机器人的HTTP

9.2.1 识别请求首部

9.2.2 虚拟主机

9.2.3 条件请求

9.2.4 对响应的处理

9.2.5 User-Agent 导向

9.3 行为不当的机器人

9.4 拒绝机器人访问

9.4.1 拒绝机器人访问标准

9.4.2 Web 站点和robots.txt 文件

9.4.3 robots.txt 文件的格式

9.4.4 其他有关robots.txt 的知识

9.4.5 缓存和robots.txt 的过期

9.4.6 拒绝机器人访问的Perl 代码

9.4.7 HTML 的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-NG

10.1 HTTP 发展中存在的问题

10.2 HTTP-NG 的活动

10.3 模块化及功能增强

10.4 分布式对象

10.5 第一层——报文传输

10.6 第二层——远程调用

10.7 第三层——Web 应用

10.8 WebMUX

10.9 二进制连接协议

10.10 当前的状态

10.11 更多信息

第三部分 识别、认证与安全

第11 章 客户端识别与cookie 机制

11.1 个性化接触

11.2 HTTP 首部

11.3 客户端IP 地址

11.4 用户登录

11.5 胖URL

11.6 cookie

11.6.1 cookie 的类型

11.6.2 cookie 是如何工作的

11.6.3 cookie 罐:客户端的状态

11.6.4 不同站点使用不同的cookie

11.6.5 cookie 成分

11.6.6 cookies 版本0(Netscape)

11.6.7 cookies 版本1(RFC 2965)

11.6.8 cookie 与会话跟踪

11.6.9 cookie 与缓存

11.6.10 cookie、安全性和隐私

11.7 更多信息

第12 章 基本认证机制

12.1 认证

12.1.1 HTTP 的质询/ 响应认证框架

12.1.2 认证协议与首部

12.1.3 安全域

12.2 基本认证

12.2.1 基本认证实例

12.2.2 Base-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 重写URI

13.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 章 安全HTTP

14.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.1 RSA

14.4.2 混合加密系统和会话密钥

14.5 数字签名

14.6 数字证书

14.6.1 证书的主要内容

14.6.2 X.509 v3 证书

14.6.3 用证书对服务器进行认证

14.7 HTTPS——细节介绍

14.7.1 HTTPS 概述

14.7.2 HTTPS 方案

14.7.3 建立安全传输

14.7.4 SSL 握手

14.7.5 服务器证书

14.7.6 站点证书的有效性

14.7.7 虚拟主机与证书

14.8 HTTPS 客户端实例

14.8.1 OpenSSL

14.8.2 简单的HTTPS 客户端

14.8.3 执行OpenSSL 客户端

14.9 通过代理以隧道形式传输安全流量

14.10 更多信息

14.10.1 HTTP 安全性

14.10.2 SSL 与TLS

14.10.3 公开密钥基础设施

14.10.4 数字密码

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

第15 章 实体和编码

15.1 报文是箱子,实体是货物

15.2 Content-Length: 实体的大小

15.2.1 检测截尾

15.2.2 错误的Content-Length

15.2.3 Content-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.3 Accept-Encoding 首部

15.6 传输编码和分块编码

15.6.1 可靠传输

15.6.2 Transfer-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.1 HTTP 对国际性内容的支持

16.2 字符集与HTTP

16.2.1 字符集是把字符转换为二进制码的编码

16.2.2 字符集和编码如何工作

16.2.3 字符集不对,字符就不对

16.2.4 标准化的MIME charset 值

16.2.5 Content-Type 首部和Charset 首部以及META 标志

16.2.6 Accept-Charset 首部

16.3 多语言字符编码入门

16.3.1 字符集术语

16.3.2 字符集的命名很糟糕

16.3.3 字符

16.3.4 字形、连笔以及表示形式

16.3.5 编码后的字符集

16.3.6 字符编码方案

16.4 语言标记与HTTP

16.4.1 Content-Language 首部

16.4.2 Accept-Language 首部

16.4.3 语言标记的类型

16.4.4 子标记

16.4.5 大小写

16.4.6 IANA 语言标记注册

16.4.7 第一个子标记——名字空间

16.4.8 第二个子标记——名字空间

16.4.9 其余子标记——名字空间

16.4.10 配置和语言有关的首选项

16.4.11 语言标记参考表

16.5 国际化的URI

16.5.1 全球性的可转抄能力与有意义的字符的较量

16.5.2 URI 字符集合

16.5.3 转义和反转义

16.5.4 转义国际化字符

16.5.5 URI 中的模态切换

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.4 Apache 中的内容协商

17.3.5 服务器端扩展

17.4 透明协商

17.4.1 进行缓存与备用候选

17.4.2 Vary 首部

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.3 HTTP/1.1 的Host 首部

18.3 使网站更可靠

18.3.1 镜像的服务器集群

18.3.2 内容分发网络

18.3.3 CDN 中的反向代理缓存

18.3.4 CDN 中的代理缓存

18.4 让网站更快

18.5 更多信息

第19 章 发布系统

19.1 FrontPage 为支持发布而做的服务器扩展

19.1.1 FrontPage 服务器扩展

19.1.2 FrontPage 术语表

19.1.3 FrontPage 的RPC 协议

19.1.4 FrontPage 的安全模型

19.2 WebDAV 与协作写作

19.2.1 WebDAV 的方法

19.2.2 WebDAV 与XML

19.2.3 WebDAV 首部集

19.2.4 WebDAV 的锁定与防止覆写

19.2.5 LOCK 方法

19.2.6 UNLOCK 方法

19.2.7 属性和元数据

19.2.8 PROPFIND 方法

19.2.9 PROPPATCH 方法

19.2.10 集合与名字空间管理

19.2.11 MKCOL 方法

19.2.12 DELETE 方法

19.2.13 COPY 与MOVE 方法

19.2.14 增强的HTTP/1.1 方法

19.2.15 WebDAV 中的版本管理

19.2.16 WebDAV 的未来发展

19.3 更多信息

第20 章 重定向与负载均衡

20.1 为什么要重定向

20.2 重定向到何地

20.3 重定向协议概览

20.4 通用的重定向方法

20.4.1 HTTP 重定向

20.4.2 DNS 重定向

20.4.3 任播寻址

20.4.4 IP MAC 转发

20.4.5 IP 地址转发

20.4.6 网元控制协议

20.5 代理的重定向方法

20.5.1 显式浏览器配置

20.5.2 代理自动配置

20.5.3 Web 代理自动发现协议

20.6 缓存重定向方法

20.7 因特网缓存协议

20.8 缓存阵列路由协议

20.9 超文本缓存协议

20.9.1 HTCP 认证

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.5 Squid 代理日志格式

21.3 命中率测量

21.3.1 概述

21.3.2 Meter 首部

21.4 关于隐私的考虑

21.5 更多信息

第六部分 附 录

附录A URI 方案

附录B HTTP 状态码

附录C HTTP 首部参考

附录D MIME 类型

附录E Base-64 编码

附录F 摘要认证

附录G 语言标记

附录H MIME 字符集注册表

索引

时间: 2024-08-04 11:54:03

读书《HTTP权威指南》的相关文章

《跃迁-成为高手的技术》感悟

背景 在公司里听到别人说起一本自己没读过的书,或者看到听到别人引用了一个词.一句话查到出自哪本书.那这本书静儿是一定要去读的.因为不了解别人读的书,有很大概率不了解别人的知识体系和思维习惯. 举个例子,亚马逊.谷歌.ebay思想体系在我们团队用的很多.多看这些公司人写的书在工作中沟通会顺畅很多. <跃迁-成为高手的技术>这本书是我们leader开会的时候强烈推荐的一本好书,所以利用周末时间补习一下. 内容简介 我这周发了高烧,休假一天不发烧了,但是嗓子发炎了还是没好,养病期间看书比较慢.一天时

读书《跃迁:成为高手的技术》

书名: 跃迁:成为高手的技术(附赠高手秘籍和时间管理秘籍)作者: 古典 原文地址:https://www.cnblogs.com/one22one/p/12240860.html

《微软的软件测试之道》读书笔记 之 结构测试技术

<微软的软件测试之道>读书笔记 之 结构测试技术 2014-07-18 我们需要结构测试吗? 微软的一项试验说明了结构测试的在代码覆盖中起到的效果: 超过3000名测试员参与了这项实验,每25人一组,实验结果在所有组中都是一致的.在这项研究中, 脚本化测试:根据样式书设计的脚本化测试在被测程序上达到了标称83%的代码覆盖率. 探索性测试:然后,实验参与者允许进行每人15分钟,累计5小时的探索性测试.令人惊讶的是,代码覆盖率平均只增加了3个百分点. 结构测试:但是,当实验参与者能够分析探测过的(

跃迁:成为高手的技术

古典 高手的三个境界 见自己 见世界 见众生 高手的暗箱:利用规律,放大努力 调用知识而非记忆知识 从独自思考到联机的独立思考 利用底层规律,通过法则,实现跃迁 掌握自己注意力 过滤信息,找到重点 理解系统,能与陌生人联机协助 大脑是用来观察.思考.创造和影响他人,不该用来记忆 外包大脑,把不重要的技能外包,聚焦核心技能的跃迁 高手战略:在高价值区,做正确的事 睡着以后,还能够持续迭代,需要打磨深思熟虑后做选择的战略能力,找到那些更少但是更好的事 只打甜蜜区里的球.只求51%的胜率,需要定力与专

[读书笔记]《淘宝技术这十年》

摘录自:http://www.cnblogs.com/me115/p/3545054.html 内容目录: 淘宝的升级路线 淘宝创新的技术 从牛人身上看到的 这本书很有趣,故事叙述好玩,且价值颇高: 它让更多人了解并熟悉淘宝,让我们近距离观察大公司成长过程中遇到的问题: 我将从三个方面来做这个概要版的读书笔记: 淘宝的升级路线叙述了淘宝的成长路线,如果能引起大家的兴趣,那最好,书中有详实有味的数据供人品味: 淘宝创新的技术一节总结淘宝在壮大的道路中所创造的技术,其实很多在我们的日常应用中都能找到

【读书笔记-数据挖掘概念与技术】数据仓库与联机分析处理(OLAP)

之前看了认识数据以及数据的预处理,那么,处理之后的数据放在哪儿呢?就放在一个叫"数据仓库"的地方. 数据仓库的基本概念: 数据仓库的定义--面向主题的.集成的.时变的.非易失的 操作数据库系统VS数据仓库--为什么需要使用数据仓库分析数据(OLAP  VS  OLTP) 数据仓库体系结构--三层体系结构:底层(数据仓库服务器)--中间层(OLAP服务器)--顶层(前段工具) 三种数据仓库模型 企业模型 数据集市(只针对某一部门) 虚拟仓库 元数据库--关于数据的数据 理解OLAP,数据

【读书笔记-数据挖掘概念与技术】数据立方体技术

基本概念: 基本单元:基本方体的单元 聚集单元:非基本方体的单元 冰山立方体:部分物化的立方体 最小支持度(最小支持度阀值):部分物化的最小阀值(说白了就是限定了一个范围) ∵冰山立方体仍有大量不感兴趣的单元需要计算 ∴引入--闭覆盖--一个单元没有后代或者它的后代的度量值与其不同 法2:只预计算涉及少数维的立方体,这些方体形成的数据立方体的立方体外壳 计算的一般策略:四种优化技术 1.    排序.散列和分组 2.    同时聚集和缓存中间结果 3.    当存在多个子女方体时,由最小的子女聚

【读书笔记-数据挖掘概念与技术】数据预处理

数据预处理的目的:提高数据质量,数据质量的三要素:准确性.完整性.一致性. 数据预处理的任务: 数据清理 数据集成 数据规约 数据变换 数据清理--填充缺失的值.光滑噪声.识别离群点.纠正数据中的不一致 缺失值: 忽略元组 人工填写缺失值 使用一个全局常量 使用属性的中心度量 使用与给定元组属同一类的所有样本的属性均值或中位数 使用最可能的值(最流行) 噪声数据 分箱 回归 离群点分析 数据集成--合并来自多个数据存储的数据 实体识别问题 冗余和相关分析 元组重复 数据值冲突的监测与处理 数据规

#读书笔记#温伯格技术思想三部曲:程序开发心理学——第10章、积极性、培训及经验

在心理学家的眼中,人们在完成特定任务时的工作绩效,是由任务本身及其承担者对任务理解的深度共同决定的.心理学家同样认为,工作绩效同时也受到任务承担者个体在诸如性格和智力等方面差异的影响.尽管性格是可以改变的,而且智力也可以有所提高,但是工作绩效的实质提高还要依赖于培训和实践经验. 不过心理学本身并非一门严密的科学,而且也从来没有严密过.无论心理学家如何对任务及其承担者的理解深度进行考察,无论他们如何对任务承担者个体之间所有差异进行衡量,无论他们如何考虑到培训与实践经验,工作绩效总还是有很多方面无从

[hadoop读书笔记] Hadoop下各技术应用场景

1.数据采集 对于数据采集主要分为三类,即结构化数据库采集,日志和文件采集,网页采集. 对于结构化数据库,采用Sqoop是合适的,可以实现结构化数据库中数据并行批量入库到hdfs存储.对于网页采集,前端可以采用Nutch,全文检索采用lucense,而实际数据存储最好是入库到Hbase数据库.对于日志文件的采集,现在最常用的仍然是flume或chukwa,但是我们要看到如果对于日志文件数据需要进行各种计算处理再入库的时候,往往flume并不容易处理,这也是为何可以采用Pig来做进一步复杂的dat