前端面试题收集(一)
一、从浏览器输入URL到页面刷新完成,这中间经历了哪些过程?(高频)
1、浏览器查看缓存,如果有缓存校检新鲜度,如果新鲜则渲染至页面
2、无缓存,dns解析域名找到对应域名的主机ip和端口号
3、浏览器3次挥手与服务器建立tcp/ip连接。
4、建立连接后,浏览器发送http请求给服务器。
5、服务器收到http请求,根据请求获取资源,并response给浏览器(html,js,css,img等)
6、浏览器拿到服务器返回的资源渲染至页面 (外链接css,js,图片都会对服务器重新发送一次请求)
7、4次挥手浏览器与服务器断开连接。
详情参考:https://www.jianshu.com/p/a877684a4cdd
二、SEO优化问题:
1、合理的title,keyword,discribe:title强调重点,keyword权重越大越靠前,discribe高度概述,文字数量适中。
2、语义化html,符合w3c标准规范,语义化的代码更容易让搜索引擎理解网页。
3、重要内容的html放在上面,搜索引擎抓取html是从上到下的。
4、不使用iframe,搜索引擎不会抓取iframe中的内容,非装饰性图片必须有alt。
5、提高网站速度。
三、img元素的title和alt有什么区别?
title:当鼠标停留在图片上时,显示的是title中定义的内容
alt: 当加载图片失败时,显示的解释性文本
四、http常用的几种请求方式?
get | 发送一个请求来获取服务器上的某个资源 |
post | 向url指定的资源提交数据或更新数据 |
put | 类似post请求,向服务器提交数据,但是指定了资源在服务器上的位置 |
head | 只请求页面的头部 |
delete | 删除服务器上的某资源 |
options | 用于获取当前url所支持的方法 |
五、如何优化网站性能?
1、减少http请求,合并文件,使用css精灵图,inline,image
2、Serve方面:1)、使用cdn 2)、配置eTag,详情可见:https://www.cnblogs.com/happy4java/p/11206015.html
3、减小cookie大小
4、压缩css,js代码,外部引入js和cs,减少DOM访问
六、http状态码
1XX 信息状态码:
100 Coutinue:继续,一般在发送post请求时,已发送了request header时,服务器返回,表示确认
2XX 成功状态码:
200 OK : 请求成功
201 Created: 请求成功并且服务器创建新资源
202 Accepted : 服务器已接收请求但尚未处理
3XX 重定向:
301 Moved Permanently: 请求的网页已永久迁移到新位置
302 Found : 临时性重定向
303 See Other : 临时性重定向,且总是使用get请求新的url
304 Not Modified: 自上次请求后,网页未修改过
4XX 客户端错误:
400 Bed Request: 服务器无法理解请求的格式,客户端不应当使用同样
的内容发起请求
401 Unauthorized: 请求未授权
403 Forbidden: 禁止访问
404 Not Found : 请求资源未找到
5XX 服务器错误:
500 Internel Server Error : 最常见的服务器端错误
503 Service Unavailable : 服务器暂时无法处理请求(可能是过载或者维护)