1. HTML语法:
由Tag组成层级结构,标签视为名,而值插在当中。
关键组成符:<, >, ', ", &
2. 解析模式:
文件开头<!DOCTYPE>告知,
但亦可由Content-Type传递,
关于1中的关键符, 可由<![CDATA[.....]]>封装
3. 解析器行为:
对错误容忍度极高,空格,特殊字符,HTML过滤器设计有时不能只考虑一层两层,
以及标签的多重性,
各个浏览器之间标准的不一致性
4. 实体编码:
&符号开头,;符号结尾, 可ASCII, 可Unicode,(&#开头),
5. 超链接和内容包含:
<a href="url">
表单的action本质上也是一个 href
6. 其他资源:
图片(<img>);样式表(<link rel=stylesheet href=...> or <style src=...>)
客户端脚本(<script> 包括个别奇葩脚本)
插件(<embed>, <object>...)
7. 跨域请求
浏览器是透明包含全局身份信息的, 从而当状态改变的请求发送的服务端时, 是无法确认是客户还是第三方发出的。
试解决方案:在请求中包含一个绘画相关的加密参数,从而第三方无法获取。(同源策略对跨域文档的读取限制)