前端经典优秀面试题

本文概述了浏览器从发起请求到呈现页面的步骤,包括域名解析、TCP三次握手、HTTP请求、页面渲染,以及性能优化技巧如减少请求、合并资源和跨域处理。重点介绍了JSONP、CORS和Nginx代理在解决跨域问题上的应用。
摘要由CSDN通过智能技术生成

浏览器从发起请求到呈现页面的整个过程

1. 域名解析:先在本地寻找DNS(域名解析)缓存,找不到就去ISP(互联网服务提供商)请求网址对应的IP地址。

2.发起TCP三次握手:通过 DNS 解析,我们找到了真正处理这个网址的服务器的 IP 地址,通过TCP 协议三次握手建立连接。

3.发送http请求:这个时候我们的客户端已经和这个网址的服务器建立了连接。

4.服务器端响应http请求,浏览器得到html代码

5.浏览器渲染页面

(1.解析HTML标签,生成DOM树,同时请求html代码中的资源

(2.解析到<link>或者<style>标签时,开始解析CSS,生成CSS规则树

(3.当遇到<script>标签后,浏览器会立即开始解析脚本,并停止解析DOM

(4.当DOM TreeCSSOM生成后,将两者结合,生成渲染树render tree,然后将内容显示再屏幕上。

6.断开TCP请求

网站性能优化的方法

1、减少http请求,合理设置 HTTP缓存。将浏览器一次访问需要的javascript和CSS合并成一个文件,设置恰当的缓存。

减少请求的方法,一次请求多个文件,同时把多个文件压缩成一个文件,使用css精灵图和图片懒加载

2.使用异步请求Callback。可以在(DOM.onload )DOM加载完成后再请求一些资源。

3.减少cookie的传输,cookie包含在每次请求和响应中,太大的cookie会严重影响数据传输,。

性能优化:

1. 减少http请求数

使用精灵图

合并压缩css样式表和js脚本

压缩传输的所有文本资源

2. 图片优化,使用icon图片

3. 异步加载,DOM加载完成后再请求一些资源-

什么是跨域,跨域是怎么产生的,如何解决跨域?

跨域是:当一个请求的url,协议、域名、端口三者之间任意一个与当前页面url不同即为跨域。

跨域是怎么产生的:浏览器的同源策略限制。

同源指网站具有相同的域,即 协议(protocol)、主机(host)、端口号(port) 相同。

跨域解决方案:

1.JSONP跨域请求数据

2.CORS跨域

对于简单请求,浏览器会直接发送CORS(跨源资源共享请求,具体说来就是在header中加入origin请求头字段。同样,在响应头中,返回服务器设置的相关CORS头部字段,Access-Control-Allow-Origin字段为允许跨域请求的源。 // 响应头部Access-Control-Allow-Origin: <origin> | *

3.Nginx代理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值