前端面试最常问的浏览器相关问题
前端面试最常问的浏览器相关问题有哪些?疫情好转后。迎来一波复工热潮。在这个时候,也是许多小伙伴求职面试的高峰期。因此小编为大家整理了前端面试中常见的浏览器相关问题,众所周知,浏览器的相关问题是前端面试中的基础问题,也是几乎必考的问题。希望大家可以在前端面试前,多刷刷题,准备得更加充分。
1、为什么会有跨域的问题出现?
跨域,指的是浏览器不能执行其他网站的脚本,它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制,防止他人恶意攻击网站。比如一个黑客,他利用 iframe 把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名和密码登录时,如果没有同源限制,他的页面就可以通过JavaScript读取到你的表单中输入的内容,这样用户名和密码就轻松到手了。
2、前端安全 XSS、CSRF 是什么?
(1)xss:跨站脚本攻击。xss 攻击的主要目的是想办法获取目标攻击网站的cookie,因为有了 cookie 相当于有了 session。恶意攻击者往 Web 页面里插入恶意 Script 代码,当用户浏览该网页之时,嵌入其中 Web 里面的。Script 代码会被执行,从而达到恶意攻击用户的目的,避免采取的措施: 编码、过滤、校验。
(2)csrf:跨站点伪装请求,CSRF 攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任,以用户身份在攻击页面对目标网站发起伪造用户操作的请求,达到攻击目的。防御手段:1. 尽量使用 POST,限制 GET,2. 加验证码
3、浏览器如何加载页面?
从浏览器地址栏的请求链接开始,浏览器通过 DNS 解析查到域名映射的 IP 地址,成功之后浏览器端向此 IP 地址取得连接,成功连接之后,浏览器端将请求信息通过 HTTP 协议向此 IP 地址所在服务器发起请求,服务器接受到请求之后等待处理,最后向浏览器端发回响应,此时在 HTTP 协议下, 浏览器从服务器接收到 text/html 类型的代码,浏览器开始显示此 html, 并获取其中内嵌资源地址,然后浏览器再发起请求来获取这些资源,并在 浏览器的 html 中显示。
4、script 脚本阻塞有什么解决办法?
(1)推迟加载
如果页面初始的渲染并不依赖于 js 或者 CSS 可以用推迟加载,就是最后在加载 js 和 css,把引用外部文件的代码写在最后。
(2)defer 延迟加载
在 文 档 解 析 完 成 开 始 执 行 , 并且在DOMContentLoaded 事件之前执行完成,会按照他们在文档出现的顺序去下载解析。效果和把 script 放在文档最后