前端面试题及答案2020
1. 浏览器篇
1.1 常用那几种浏览器测试?主流浏览器的内核有哪些?
Q1:IE、Safari、Chrome、Mozilla Firefox、Opera
Q2:
1、Trident内核
代表产品为Internet Explorer,又称其为IE内核。Trident(又称为MSHTML),是微软开发的一种排版引擎 。
2、Gecko内核
代表作品为Mozilla Firefox。Gecko是一套开放源代码的、以C++编写的网页排版引擎,是最流行的排版引擎之一,仅次于Trident。使用它的最著名浏览器有Firefox。
linux安装的oracle安装包
3、WebKit内核
代表作品有Safari、Chrome。WebKit是一个开源项目,主要用于Mac OS系统,它的特点在于源码结构清晰、渲染速度极快。缺点是对网页代码的兼容性不高,导致一些编写不标准的网页无法正常显示。
4、Presto内核
代表作品Opera。Presto是由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。
1.2 说说你对浏览器内核的理解?必利劲的使用方法
浏览器内核主要包括以下三个技术分支:排版渲染引擎、 JavaScript引擎,以及其他。
排版渲染引擎:主要负责取得网页的内容(HTML、XML、图像等)、整理信息,以及计算网页的显示方式,然后输出至显示器
JavaScript引擎:是用来渲染JavaScript的,JavaScript的渲染速度越快,动态网页的展示
也越快
1.3 一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
1.浏览器根据请求的URL交给DNS域名解析,到真实IP;
2.浏览器根据 IP 地址向服务器发起 TCP 连接,与浏览器建立 TCP 三次握手
a.客户端向服务器发送一个建立连接的请求
b.服务器接到请求后发送同意连接的信号
c.客户端接到同意连接的信号后,再次向服务器发送了确认信号,然后客户端与服务器的连接建立成功
3.浏览器发送HTTP请求
浏览器根据 URL 内容生成 HTTP 请求,请求中包含请求文件的位置、请求文件的方式等等;
4.服务器处理请求并返回HTTP报文(HTTP响应报文也是由三部分组成: 状态码, 响应报头和响应报文。):
a…服务器接到请求后,会根据 HTTP 请求中的内容来决定如何获取相应的 HTML 文件;
b.服务器将得到的 HTML 文件发送给浏览器;
c.在浏览器还没有完全接收 HTML 文件时便开始渲染、显示网页;
d在执行 HTML 中代码时,根据需要,浏览器会继续请求图片、CSS、JavsScript等文件,过程同请求 HTML 。
5.断开连接
1.4 浏览器缓存
1.sessionStorage
优点:可以临时存储,关闭页面标签自动回收,不支持跨页面交互
缺点:只能作为临时存储,不能存储持久化
2.localStorage
优点:用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去删除。
缺点:存在大小限制,IE8以上的IE版本才支持这个属性;目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换
3.cookie
优点:兼容性最好,几乎所有的浏览器都支持
缺点:大小有限制,而且每次发送请求,请求头里会带着cookie一起发过去,现在基本大多数登录的合法性验证都是用cookie验证的
4.userData
优点:出现的时间比sessionStorage要早
缺点:IE专门的存储方式,存储大小有限,单个文件的大小限制是128KB,一个域名下总共可以保存1024KB的文件,文件个数应该没有限制。在受限站点里这两个值分别是64KB和640KB
特效素材中国免费素材网1.5. HTTP
1.5.1 http状态码
1.以 2xx 为开头的都表示请求成功响应.
状态码 | 含义 |
200 | 请求成功 |
204 | 请求处理成功,但是没有资源可以返回 |
206 | 对资源某一部分进行响应,由Content-Range 指定范围的实体内容。 |
2.以 3xx 为开头的都表示需要进行附加操作以完成请求
状态码 | 含义 |
301 | 永久性重定向,该状态码表示请求的资源已经重新分配 URI,以后应该使用资源现有的 URI |
302 字符常量和字符串有什么区别 | 临时性重定向。该状态码表示请求的资源已被分配了新的 URI,希望用户(本次)能使用新的 URI 访问。 |
303 | 该状态码表示由于请求对应的资源存在着另一个 URI,应使用 GET 方法定向获取请求的资源。 |
304 | 该状态码表示客户端发送附带条件的请求时,服务器端允许请求访问资源,但未满足条件的情况。 |
307 | 临时重定向。该状态码与 302 Found 有着相同的含义。 |
3.以 4xx 的响应结果表明客户端是发生错误的原因所在
状态码 | 含义 |
400 | 该状态码表示请求报文中存在语法错误。当错误发生时,需修改请求的内容后再次发送请求。 |
401 | 该状态码表示发送的请求需要有通过 HTTP 认证(BASIC 认证、DIGEST 认证)的认证信息。 |
403 | 该状态码表明对请求资源的访问被服务器拒绝了。 |
404 | 该状态码表明服务器上无法到请求的资源。 |
4.以 5xx 为开头的响应标头都表示服务器本身发生错误
状态码 | 含义 |
500 | 该状态码表明服务器端在执行请求时发生了错误。 |
503 | 该状态码表明服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。 |
1.5.2 URL和URI有什么区别?
URI是统一资源标识符,相当于一个人身份证号码
Web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个来URI来定位的
URI一般由三部组成
stl格式是什么web前端基础面试题①访问资源的命名机制
②存放资源的主机名
③资源自身的名称,由路径表示,着重强调于资源。
URL 是统一资源定位符,相当于一个人的家庭住址
URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。
URL一般由三部组成
①协议(或称为服务方式)
②存有该资源的主机IP地址(有时也包括端口号)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论