中文版纠错表
2013-10-24
唉,无错不成书!道理我也知道,何况自己的水平摆在那里,不错也不可能!不过看到出错总是不甘心啊不甘心。所以只能事后修补了,在这里建个纠错表吧,大家有发现什么问题都可以告诉我,以后要是重印希望可以改正啦。
但素(这里必须有个但素),千万表被这篇纠错表的长度吓倒,贸然决定投身英文版!首先纠错表里的前半段在现版本中(2印以后)已得到纠正,这部分也是最主要的错译;其次,后半段的纠错,实际上很多纠的是原书的错误,是非常有价值的(感谢那位细心的读者@Tiecheng),是原书也没有滴。
最后,作为被本书英文版坑了一路的译者(此处涕泪交织滂沱T..T),弱弱地建议不要轻易尝试通读此书原版 —— 读完需要莫大的勇气和巨多的时间,三思而行啊。此书英文非常绕非常难懂!但非常建议用中文版和英文版交叉对照阅读,以给我提供意见和勘误。:)
另外也很感谢这位读者(@Pythoner)细致的思维图总结和纠错:
http://www.pythoner.com/386.html
有看书看到最后忘了前面的,可以下载一份,帮助记忆,总结都很全面用心。
==↓↓↓↓↓ 最最严重的几个错误!(这部分在第二次印刷版本里已修改) ↓↓↓↓↓==
P29,但却未禁止非保留字符不能以编码形式出现,这句话是不是应该变成“但却未禁止非保留字符以编码形式出现” (by @沈沉舟)
P67,第一行,“引号括起来的字符串”==>“引号字符”!这真是最脑子入水的一个错误了! !!
P89, ““}”这些字符都需要做转义处理,使用数字编码形式的转义编码时要引号括起来。” ==> ““}”和单双引号这些字符,都需要使用数字编码形式的转义处理。” —— 和上一条类似,这个也错得非常脑残!
P88,“所以许多CSS解析器也能接受未被引号括起的字符串里的任意转义序列” ==>“所以许多CSS解析器对本该用引号括起来的字符串,也支持转义方式的写法。”
P32 中段那个举例的URL,实际上应该是:http://example.com/.wholesome-domain.com/
examples.com后面有个黑底反白的斜杠!现在却把o字母给反白了,斜杠没了,所以那句解释看起来就很无厘头。
==↓↓↓↓↓ 以下是其他细节版(这部分错误第二次印刷版本里已修改) ↓↓↓↓↓==
P135,第2段L1:这种由协议-域名-端口三元素组合在一起的算法就叫”源“-->此算法引入的这种“协议-域名-端口”三元组就叫“源“(@jxxy)
p144L8,差不多等同与绕过--->差不多等同于绕过 (@jxxy)
P41,L12,...的25端口有上运行着.. ==>“有”字多余(@jxxy)
P75,“见图4-1中的左图” ==>“以图4-1中左边的窗口为例”
P76,"百分号编码机制先进行转义" ==> “百分号编码机制转义”
P78,4.5.4章节标题往上的一行里,“一个单独的页面” ==>“同一个页面”
P81,倒数第二段里,“以恰当的语言转义方式” ==>“都应该以对应语言所适用的转义方式”, 因为上面这里提到了js,css两种语言,就是要按照它们各自的语法要求进行转义。
P84,最后的“注意”里,“在这个例子里” ==>“如这个例子所示”
P88,“所以许多CSS解析器也能接受未被引号括起的字符串里的任意转义序列” ==>“所以许多CSS解析器对本该用引号括起来的字符串,也支持转义方式的写法。”
P89,唉,又一个脑残级错误!““}”这些字符都需要做转义处理,使用数字编码形式的转义编码时要引号括起来。” ==> ““}”和单双引号这些字符,都需要使用数字编码形式的转义处理。”
P105,下半页的位置里,“也会按照规定的语法”==>“会先按照规范的语法”
前言第三段,“几乎每个如今值得说道的在线应用,都因为贪方便凑合着用从早期互联网搬过来的技术,导致后期付出了沉重代价” ==>"几乎每个如今值得说道的在线应用,都曾由于使用了那些早期贪方便胡乱拼凑的互联网技术,导致以后付出了沉重的代价" (by @jxxy)
和上面同一段,“很特定的一种”==>“很特定的一个类别”(by @jxxy)
P31,倒数3行“那38个的字母” ==>“那38个字母”
P45,第一段“这个请求头都必须存在”==>“这个请求头却必须存在”
P51,第一段“RFC4918里描述这个HTTP方法是用于写作和版本控制协议的。”==>“RFC4918描述了这个用于写作和版本控制协议的HTTP方法。”
P61,那段“未被采纳的建议”里,“给与”==>“给予”
P61,最后一行,“为何不用于几年前”==>“为何不用在几年前”
P64,“并把最后一个句号....其他句号...”里的“句号”,可能不够准确,中文读者会认为是“。”符号,其实应该是点号“.”,原文是period,也许该用“句点号”?
P66,第一段的最后,“文本对象模型”==>“文档对象模型”
P66,4.1章节里的第一段,“则文本节点”==>“而文本节点”
P67 那段“注意”里,“导致一种常见...”==>“导致一系列常见...”
P67,第一行,“引号括起来的字符串”==>“引号字符”!
P72 "则代表个好看的unicode箭头" ==>“则代表一个好看的unicode箭头”
P72那段注意里,“如果能用来处理不受信任的内容,后者明显是不安全的” ==> “如果这个外部URL的内容是有问题的,则很明显后一种命名实体的定义方式就不安全了”
P73 "javascript: 伪URL" ==> javascript: 形式的伪URL绝对引用... (原来的两边引号都可以去掉)
沈沉舟 : P29,但却未禁止非保留字符不能以编码形式出现,这句话是不是应该变成“但却未禁止非保留字符以编码形式出现” ——确实,没表达好!
P92页,译注中第二个parsing错了。第一个是对的,第二个变成pasring。
P100页,第三行,"given_name" 前面的那个问号,不知道打哪里冒出来的,其实是没有的。
字体问题:唉,出版社的字体选择问题吧,结果书中很多示范代码里原本该是黑体的地方,“黑”得很不明显!这都没法一一纠错了,只能大家自己去对那个英文电子版吧。那些黑体提示还是有意义的。
================ 以上为 2013年的分割线 ================
从分割线往上的部分,都是本书第2次印刷后,已做修改的错误。
从分割线往下的部分,都是本书第2次印刷后,仍然存在的错误,亟待第三次印刷才能修改了。
================ 以下为 2014年的分割线 ================
2014年10月3号,收到一份非常详尽的纠错列表,让人心服口服,这位细心的读者(Wu Tiecheng)不但找出了我在翻译中的错误,还有前后不够一致的,不够符合常规用法的各种问题,甚至找出了很多原书就带过来的错误,非常令人佩服。衷心感谢!希望这些问题都能在后续的版本里得到修正(2014/10/20)。
以下列表还不是邮件里的全部,部分格式相关的小错未能尽录。
p.49 3.2.2里“很多浏览器在重新加载包含POST方式的数据时”==>“很多浏览器在重新加载通过POST方式获得的数据时”
p.51 3.2.9 “RFC 491812里描述这个HTTP方法是用于写作和版本控制协议的。”==>“这是一种分布式创作和版本控制协议,其规范由 RFC 4918描述。”
p86 第5行“-moze-binding” ==>“-moz-binding”
p86 第6行 “moz-binding 是Firefox特有的...”==> “-moz-binding 是Firefox特有的...”
p92 第3行 “display_str(text);”==> “display_string(text);”
p99 6.1.5 章节里第一段第3行 “重写大括号”==>“重载大括号”
p138 倒数第二行 “自感染”==>“自伤式”
p148 9.1.5 章节中,“AllowScriptAccess参数”一段中,两个“sameorigin”都应该是“sameDomain”
p149 第2行 “allowScriptAccess=none”==>“allowScriptAccess=never”
p155 9.6.6章节,第二段第二行,“Chrome对JavaScript”==>“Chrome对特权JavaScript”
p171 中间“X-Frame-Options: same-origin”==>“X-Frame-Options: sameorigin”
p178 倒数第6行 “frameElements”==>"frame"
p178 倒数第3行 “X-Frame-Option“ ==> “X-Frame-Options“
p202 第3行 “X-Content-Options:nosniff”==> “X-Content-Type-Options:nosniff”
p208 第5行 “Window.prompt()”==>“window.prompt()”
p209 最后一段里的注释,“出于可用性的考虑,除了这个专用的onbeforeunload对话框,互联网上的页面就没有其他退出浏览器的方式了。(但令人惊讶的是,这个原本专门用于把用户永久地困在一个恶意页面并取消任何跳转尝试的做法,实际上并不是太受欢迎。)”==>“出于可用性的考虑,互联网页面一旦进入图示这种暂停浏览的状态,就只有通过这一特定的onbeforeunload对话框,才能恢复到正常的浏览状态。(原本可以利用这个机制,把用户永久地困在某个恶意页面,令人惊讶的是,这种做法实际上并不受欢迎。)”
p222 第3行“视频”==>“摄像头”
p227 第2段的最后一句话里,“AccessControl-Request-Method”==>“Access-Control-Request-Method”
p227 第3段的第一句话里,“Access-Control Allow-Origin”==>“Access-Control-Allow-Origin”
p227 “CORS的现状”第一段第2行,“没有采纳”==>“延缓采纳”
p229 16.1.3 第二段最后一句“XSFR”==>“XSRF”
p231 “插件内容”一节第一句话里,“控制插件对所在页面的访问权限”==>“控制可以加载哪些插件”。
p237 第一行最后部分,“设置为安全...”==>“带有Secure标记”
p239 最后一段上面的那句示例,“XSS-Protection: 1; mode=block”==>“X-XSS-Protection: 1; mode=block”
p243 “降低HTTP网络开销”一节里,“响应握手”==>“挑战-应答握手认证”
p244 第一行的最后,“不支持序列化查询”==>“查询时不需要对数据进行序列化处理”
p244 "5.页面渲染显示" ==>"5.页面渲染预处理"