前端面试题总结

前端面试题总结
JavaScript面试题总结
CSS面试题总结
VUE面试题总结

前端性能优化途径

  1. 减少 HTTP 请求
    2.合理设置 HTTP缓存
  2. 使用服务端渲染
  3. 静态资源使用 CDN
  4. 善用缓存,不重复加载相同的资源
  5. 压缩文件
  6. 图片优化

HTTP状态码

  • 200 : 代表请求成功;
  • 301 : 永久重定向;
  • 302: 临时转移
  • 304 : 读取缓存 [表示浏览器端有缓存,并且服务端未更新,不再向服务端请求资源]
  • 307:临时重定向

以4开头的都是客户端的问题;

  • 400 :数据/格式错误
  • 401: 权限不够;
  • 404 : 路径错误,找不到文件

以5开头都是服务端的问题

  • 500 : 服务器的问题
  • 503: 超负荷;

TCP的三次握手和四次挥手

三次握手

  • 第一次握手:客户端发送一个SYN码给服务器,要求建立数据连接;
  • 第二次握手: 服务器SYN和自己处理一个SYN(标志);叫SYN+ACK(确认包);发送给客户端,可以建立连接
  • 第三次握手: 客户端再次发送ACK向服务器,服务器验证ACK没有问题,则建立起连接;
    四次挥手
  • 第一次挥手: 客户端发送FIN(结束)报文,通知服务器数据已经传输完毕;
  • 第二次挥手: 服务器接收到之后,通知客户端我收到了SYN,发送ACK(确认)给客户端,数据还没有传输完成
  • 第三次挥手: 服务器已经传输完毕,再次发送FIN通知客户端,数据已经传输完毕
  • 第四次挥手: 客户端再次发送ACK,进入TIME_WAIT状态;服务器和客户端关闭连接;

get和post请求在缓存方面的区别

get请求类似于查找的过程,用户获取数据,可以不用每次都与数据库连接,所以可以使用缓存。
post不同,post做的一般是修改和删除的工作,所以必须与数据库交互,所以不能使用缓存。因此get请求适合于请求缓存。

说一下用户从输入url到显示页面这个过程发生了什么

  • DNS解析
  • TCP连接
  • 发送HTTP请求
  • 服务器处理请求并返回HTTP报文
  • 浏览器解析渲染页面
  • 连接结束

你可能感兴趣的:(前端面试题总结)