题目来自于牛客网题库-前端校招面试题目合集。
该题库共501题
学习目标:题库501道题目学习一遍。
学习目标:
- 学习进度:110/501
学习内容:
-
谈谈浏览器缓存。
浏览器缓存分为强缓存和协商缓存。由响应的header内容决定。
强缓存(本地缓存):浏览器直接从本地存储中获取数据。相关字段:expires,cache-control,后者优先级高于前者
协商缓存(弱缓存):浏览器发送请求到服务器,服务器判断是否使用本地缓存中数据。相关字段:last-modified,if-modified-since,Etag,if-none-match -
什么场景使用强缓存与协商缓存?
浏览器请求某一资源时,会先获取该资源缓存的header信息,后根据header中的cache-control和expires来判断是否过期。
若未过期,则直接从本地缓存中获取资源信息,即使用强缓存。
若过期,则浏览器向服务器发送请求,此请求会携带第一次请求返回的有关缓存的header字段信息,服务器返回某个属性的特定值或者状态码,来决定是否使用本地缓存。即使用协商缓存。 -
谈谈状态码304
304:not Modified 所请求的资源未修改。
304:如客户端发送了一个带条件的GET请求且该请求已被允许,而文档内容并未改变,则服务器返回304. -
谈谈状态码200
200:请求成功,请求所希望的响应头或数据体将随此响应返回。 -
讲讲你知道的前端优化。
降低请求量:合并资源,减少HTTP请求数,使用gzip压缩资源,使用webP,lazyLoad.
加快请求速度:预解析DNS,减少域名数,并行加载,CDN分发。
缓存优化:合理设置HTTP缓存,离线缓存manifest,离线数据缓存localStorage
渲染优化:JS/CSS优化,加载顺序优化,服务端渲染。 -
讲讲GET和POST的区别。
GET参数通过url传递,POST放在request body中。
GET请求在url中传递的参数是有长度限制的,而POST没有。
GET比POST更不安全,因为参数直接暴露在url中,所以不能用来传递敏感信息。
GET请求只能进行ASCII编码,而POST支持多种编码方式
GET请求会浏览器主动cache,而POST不会。
GET请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留。
GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。
GET产生一个TCP数据包;POST产生两个TCP数据包。 -
讲讲状态码301和302
301:永久重定向。客户端应向反馈的新地址发送请求。
302:临时重定向。客户端应继续向原地址发送请求。 -
HTTP支持哪些方法?
GET ,POST, HEAD, OPTIONS, PUT, DELETE, TRACE,CONNECT -
如何画一个三角形?
div :width:0 px;height:0px;border-top:10px solid red;border-right:10px solid transparent;border-bottom:10px solid transparent;border-left:10px solid transparent; /div
.triangle{
width:0;height:0; border:10px solid transparent; border-right-color:red;
} -
重复,已自动折叠
学习时间:
2021/1/18 20:10-20:40
花费时间:30min
寄语:
又是努力学习的一天,加油!