随笔分类 - 浏览器
摘要:Cache-Control字段是http报文中的通用首部字段,既存在于请求报文中,也存在于响应报文中。部分字段值是共有的,但是具体的处理也会有差异。 共有字段: 字段名| 请求报文 | 响应报文 | | no-cache | 无论缓存是否过期,都要对请求进行校验 |缓存服务器在进行缓存前,必须校验是
阅读全文
摘要:我们通常所说的跨域,就是指被同源策略限制了的请求场景。 什么是同源策略? 同源策略/SOP(Same origin policy)是一种约定,所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。 常用解决方案 jsonp 通过动态生成script,设置src为请
阅读全文
摘要:之前一直对这两个概念模棱两可,最近面试被问到时,答的很差,才认真看了看。 session 存储于服务端。当浏览器打开某个窗口时,服务端就会为这个窗口,分配一个独一无二的sessionId,用来标识session。从打开此窗口到关闭为止,是一次会话,而session就是用来存储会话中的数据、状态等等。
阅读全文
摘要:纯后端渲染 纯后端渲染是指:浏览器向服务器发送请求后,服务器把各个数据等拼接为dom树,并将整个dom树返回给客户端,由前端进行的操作很少,只需浏览器解析即可。 优点:返回的HTTP Response是包含着全部页面内容的,相对来说页面的主体DOM结构都会在这个响应中返回,可以让用户更快的看到页面的
阅读全文
摘要:在页面加载过程中,当客户端请求服务端获取页面代码后是如何解析的呢? 分为以下五个步骤: 第一步 :构建DOM树,其中包括语法解析、词法解析,最后构成节点相连的树 第二步:构建CSSOM树,对每个节点添加样式 第三步:合并DOM树和CSSOM树形成渲染树 其中需要过滤不可见的节点、样式隐藏的节点 第四
阅读全文
摘要:首先浏览器在自己的缓存中查找是否存在该域名的缓存,如果存在,返回相应IP地址 如果浏览器缓存中不存在,则去本机的hosts文件中查找是否有缓存 如果hosts文件中不存在,则在操作系统本地DNS服务器中查找 如果本地DNS服务器中不存在,向根DNS服务器发送解析请求,根DNS服务器对.com做出解析
阅读全文
摘要:CSRF攻击的原理? 当用户使用用户名和密码访问网站A,通过验证之后,网站A产生cookie信息返回给浏览器,之后在浏览器未关闭的情况下,用户就可以不需再次登录访问网站A了。 恶意网站就是钻了这个空子,诱导用户访问网站B 网站B收到请求后,返回一些恶意代码,要求访问网站A 浏览器由于存储了用户的co
阅读全文
摘要:什么是非对称加密? 非对称加密是指给数据加密和解密用的不是相同的密钥。密钥分为公钥和私钥。公钥是公开的,私钥只有一方拥有。可以通过公钥加密--私钥解密,也可以通过私钥加密--公钥解密 以一个例子来理解 阿深和小星想要进行通信,他们各自都有一套属于自己的公钥和密钥,并且由于公钥是公开的,所以也有对方的
阅读全文
摘要:META在网页上是不可见的,它提供了网页的元数据,但是在机器上是可读的。因此常用来进行SEO优化 下面首先介绍常见的META标签 META有两个属性:http-equiv和name属性 http-equiv 相当于http的作用,定义一些http参数 <meta http-equiv='' cont
阅读全文
摘要:什么是shadow DOM? 将一组隐藏的、独立的DOM结构附加到某个元素上。比如在video元素的shadow DOM上,就隐藏了许多对视频控制的按钮和控制器等。 shadow host:一个常规的DOM节点,shadow DOM 会被附加到这个节点上 shadow tree:shadow DOM
阅读全文
摘要:当浏览器请求返回一个文档后,需要对其进行多个步骤的处理,才能正确渲染到页面上 HTML解析 解码:首先将二进制数据根据文件指定编码方式转换为字符串,也就是html代码 词法解析:将字符串分割成为一个个标签 语法解析:根据html代码规则,将标签进行解析,理解每个标签的含义 构建dom树:将之前生成的
阅读全文
摘要:浏览器基础结构主要包含七个部分: 用户界面:用户所看到的内容和与之交互的功能组件,比如按钮、表单等等 浏览器引擎:负责控制和管理下一级的渲染引擎 渲染引擎:解析用户请求的内容并返回 网络:负责处理网关相关事宜,比如http服务 UI后端:负责绘制一些提示框等UI组件,底层使用的是操作系统的用户接口
阅读全文
摘要:IE浏览器 Trident内核 chrome浏览器 之前的webkit内核,现在是blink Opera浏览器 最开始是自己的Presto,后来是webkit,又跟随chrome变为blink firefox浏览器 Gecko safari浏览器 webkit内核
阅读全文
摘要:什么是sql注入? 用户通过输入参数拼接形成sql查询语句,使用户可以控制sql查询语句 防御方法: 绑定变量,使用预解析语句 检查变量数据类型和格式 过滤特殊符号 什么是xss漏洞? 通过向web页面插入一段恶意脚本代码,用户访问web页面时,会执行这段脚本代码,某些恶意信息可能会被存储到数据库中
阅读全文

浙公网安备 33010602011771号