历史发展
1990-1995:CERN 托管转为 IETF
W3C
1995: HTML 3.0
1997:HTML 4.0
2000:HTML 4.0 重构成 XHTML 1.0
XHTML 2.0 不兼容 HTML、XHTML 1.0
WHATWG
脚本的执行
HTML、DOM API 使得脚本无法同时运行其他脚本
workers 在所有浏览环境中串行所有脚本
扩展性
- class
- data-*=’’
<meta name="" content="">
- ref=’’
<script type=''>
- embed
- itemscope=’’ itemprop=’’ (微数据特性)
HTML 使用
DOM 树节点:
DocumentType、Element、Text、Comment、ProcessingInstruction(处理指令)
DOM 树中的每个元素表示为一个对象,对象提供 API,进行操作
安全模型
Web 的安全模型基于‘域’,潜在攻击方式:
不验证用户输入
跨站脚本 XSS
SQL 注入
+ 编写白名单过滤器注意事项
img onload 运行脚本
URL scheme 滥用
base 任何相对连接 script 元素都可能被劫持
跨站请求伪造 CSRF
Clickjacking
脚本 API 使用
- 事件处理程序内容属性
- 同一个脚本创建元素和添加事件处理程序
1 | <img src="games.png" alt="Games" onload="gamesLogoHasLoaded(event)"> |
错误检查
公共基础措施
字符编码
一种字节流与 Unicode 字符串的转换,定义在 Encoding 中,编码包含一个编码名称和编码标签