美文网首页
前端面试题(一)

前端面试题(一)

作者: 油菜又矮吹 | 来源:发表于2019-05-30 16:12 被阅读0次

1.Ajax是什么?如何创建一个Ajax?

Ajax是一种创建交互式网页的计算,Ajax的全程:Asynchronous JavaScript And XML,即异步传输+js+xml。

所谓异步,在这里简单的解释一下:向服务器发送请求的时候,我们不必等待结果,而是可以同时做其他事情,等到有了结果他自己会根据设定进行后续操作,与此同时,页面时不会发生整页刷新的,提高了用户的体验。

(1)创建XMLHttpRequest对象,也就是创建一个异步调用对象。

(2)创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息。

(3)设置响应请求状态变化的函数。

(4)发送HTTP请求。

(5)获取异步调用返回的数据。

(6)使用JavaScript和DOM实现局部刷新。

2.同步和异步的区别?

同步的概念应该是来自于OS中关于同步的概念:不同进程为协同完成某项工作而在先后次序上调整(通过阻塞,唤醒等方式)。同步强调的是顺序性,谁先谁后。异步则不存在这种顺序性。

同步:浏览器访问服务器请求,用户看得到页面刷新,重新发送请求,等请求完,页面刷新,新内容出现,用户看到新内容,进行下一步操作。

异步:浏览器访问服务器请求,用户正常操作,浏览器后端进行请求。等请求完,页面不刷新,新内容也会出现,用户能够看到新的内容。

3.http的状态码有哪些?分别代表什么意思?

100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体的参数信息。

200 OK 正常返回信息。

201 Created 请求成功并且服务器创建了新的资源。

202 Accepted 服务器已接受请求,但尚未处理。

301 Moved Permanently 请求的网页已永久移到新的位置。

302 Found临时性重定向。

303 See Other 临时重定向,且总是使用GET请求新的URL。

304 Not Modified 自从上次请求后,请求的网页未修改过。

400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。

401 Unauthorized 请求未授权。

403 Forbidden 禁止访问。

404 Not Found 找不到如何与URL相匹配的资源。

500 Internal Server Error最常见的服务器端错误。

503 Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)。

4.一个页面从输入输入URL到页面加载显示完成,这个过程中都发生了什么?

注:可以从URL规范、HTTP协议、DNS、CDN、数据库查询、到浏览器流式解析、CSS规则构建、layout、paint、onload/domeready、JS执行、JS API绑定等。

详解版:

1、浏览器会开启一个线程来处理这个请求,对URL分析判断如果是http协议就按照Web方式来处理。

2、调用浏览器内核中的对应方法,比如WebView中的loadUrl方法。

3、通过DNS解析获取网址的IP地址,设置UA等信息发出的德尔格GET请求。

4、进行HTTP协议会话,客户端发送报头(请求报头)。

5、进入到Web服务器上的Web Server,如Apache、Tomcat、Node.js等服务器。

6、进入部署好的后端应用,如PHP、Java、JavaScript、Python的部分,找到对应的请求处理。

7、处理结束回馈报头,此处如果浏览器访问过,缓存上有对用的资源,会与服务器最后修改时间对比,一致则返回304.

8、浏览器开始下载html文档(响应报头,状态码为200),同时使用缓存。

9、文档数建立,根据标记请求所需指定MIME类型的文件(比如css、js),同时设置cookie。

10、页面开始渲染DOM,JS根据DOM API操作DOM,执行时间绑定等,页面显示完成。

简洁版:

浏览器根据请求的URL交给DNS域名解析。找到真实IP,向服务器发起请求。

服务器交给后台处理完成后返回数据,浏览器接受文件(HTML、JS、CSS、图像等)。

浏览器对加载的资源(HTML、JS、CSS等)进行语法解析,建立相应的内部数据结构(如HTML的DOM)。

载入解析到的资源文件,渲染页面。

相关文章

网友评论

      本文标题:前端面试题(一)

      本文链接:https://www.haomeiwen.com/subject/yprvtctx.html