更多 标签 '解析'
  • Chrome高性能的秘密:DNS预解析
  • Chrome 会随着使用变得更快,它这个特性是通过一个单例对象 Predictor 来实现的。这个对象在浏览器内核进程(Browser Kernel Process)中实例化,它唯一的职责就是观察和学习当前网络活动方式,提前预估用户下一步的操作。
  • 简单整理一下浏览器原理的知识点
  • HTML解析器真是个极复杂的东西(比如容错机制)。CSS解析器是自上而下或者自下而上解析词法还有语法。内链css会阻塞后面的脚本(因为脚本可能会获取css,需要提供最新的样式结果给脚本),所以解析css的时候chrome会阻塞后面脚本的运行,firefox会判断脚本是否有获取样式的操作,有的话阻塞脚本。
  • 自上而下解析器与自下而上解析器
  • 有两种基本类型的解析器:自上而下解析器和自下而上解析器。比如我们之前在 词法语法分析在浏览器中的作用 提到的,Webkit就是使用自底向上的解析器,而Gecko使用自顶向下的解析器。直观地来说,自上而下的解析器从语法的高层结构出发,尝试从中找到匹配的结构。
  • 浏览器对脚本和样式表的处理顺序
  • 网络的模型是同步的。网页作者希望解析器遇到 script 标记时立即解析并执行脚本。文档的解析将停止,直到脚本执行完毕。如果脚本是外部的,那么解析过程会停止,直到从网络同步抓取资源完成后再继续。此模型已经使用了多年,也在 HTML4 和 HTML5 规范中进行了指定。
  • 解析器、词法分析器与编译流程
  • 解析器通常将解析工作分给以下两个组件来处理:词法分析器(有时也称为标记生成器),负责将输入内容分解成一个个有效标记;而解析器负责根据语言的语法规则分析文档的结构,从而构建解析树。词法分析器知道如何将无关的字符(比如空格和换行符)分离出来。
  • 解析树与上下文无关语法
  • 前面谈到了关于DOM解析树和词法语法分析,如果没有相关解析的知识,我们将很难再前行去深入了解浏览器的相关知识。所以我们需要退而结网,回过头来看看解析的一些相关知识。解析是呈现引擎中非常重要的一个环节,因此我们要更深入地讲解。首先,来介绍一下解析。
  • 词法语法分析在浏览器中的作用
  • 也许前面一小节谈到的什么 BNF,词法语法什么的可能理解得不是很透彻,接下来的几个小节里,我们再补充一些词法,语法相关的知识。首先我们需要了解词法分析与语法分析的作用与位置,他们在浏览器里的作用是什么。
  • 浏览器的HTML解析算法
  • 我们前面说过,HTML 无法用常规的自上而下或自下而上的解析器进行解析。为什么呢?解析过程需要不断地反复。源内容在解析过程中通常不会改变,但是在 HTML 中,脚本标记如果包含 document.write,就会添加额外的标记,这样解析过程实际上就更改了输入内容。
  • HTML解析,为啥常规解析器都不适用?
  • 在一般解析过程中,语法可以用 BNF 等格式进行正式定义。很遗憾,所有的常规解析器都不适用于 HTML(我并不是开玩笑,它们可以用于解析 CSS 和 JavaScript)。HTML 并不能很容易地用解析器所需的与上下文无关的语法来定义。
  • 用render_to_response()简化views层
  • 前面我们使用 get_template() 方法代替繁杂的用代码来处理模板及其路径的工作。 但这仍然需要一定量的时间来敲出这些简化的代码。 这是一个普遍存在的重复苦力劳动。Django为此提供了一个捷径,让你一次性地载入某个模板文件,渲染它,然后将此作为 HttpResponse 返回。
更多 推荐文章

Welcome to NowaMagic Academy

现代魔法 推荐于 2013-02-27 10:23

更多 目录树
更多 热门小组
魔法达人