【前端面试题】计算机网络篇

222 阅读3分钟

我正在参与掘金创作者训练营第5期, 点击了解活动详情

HTTP

http常见的状态码都有哪些?

  • 1xx:服务器收到请求
  • 2xx:请求成功
    • 200:成功
  • 3xx:重定向
    • 301:永久重定向
    • 302:临时重定向
    • 304:资源未更改
  • 4xx:客户端错误
    • 403:权限不符合
    • 404:资源未找到
  • 5xx:服务端错误
    • 500:服务器错误
    • 504:网关超时

http常用的请求有哪些?

  • get:获取数据
  • post:新建数据
  • patch:更新数据
  • delete:删除数据

http常用的header有哪些?

  • 请求头
    • Accept:浏览器可接收的数据格式;
    • Accept-Encoding:浏览器可接收的压缩算法;
    • Accept-Language:浏览器可接收的语言;
    • Connection:keep-alive:连接方式:长连接;
    • cookie:同域请求资源;
    • Host:域名;
    • User-Agent:浏览器信息;
    • Content-Type:发送数据的格式;
  • 响应头
    • Content-Type:返回数据的格式;
    • Content-Length:返回数据的大小;
    • Content-Encoding:返回数据的压缩算法;
    • Set-cookie:修改cookie;

说说你对缓存的理解?

  • 作用:将静态资源(img,css,javascript)缓存到本地,通过缓存减少网络请求的数量和体积(html无法添加哈希值,不缓存);
  • 分类:
    • 强制缓存(先判断):
      • 初次请求返回资源后,强制使用本地缓存,直到过期;
    • 协商缓存(后判断):
      • 初次请求返回资源及资源标识后,服务端根据资源标识判断客户端资源与服务端是否一致(一致返回304,不一致返回200和新资源),进而判断是否使用客户端本地缓存;

说说https的加密方式?

  • 加密方式主要由两种:
    • 对称加密:一个key,同时负责加密和解密;
    • 非对称加密:一对key,一个负责加密另一个负责解密;
  • https证书:避免中间人攻击,由浏览器进行校验;

未命名文件(17).png

token和cookie有什么区别?

  • cookie
    • HTTP标准;
    • 浏览器默认存储;
    • 默认有跨域限制;
    • 配合session进行用户校验;
    • 用户信息存储在服务端;
  • token
    • 自定义标准;
    • 需要手动存储;
    • 默认没有跨域限制;
    • 使用JWT(json web token)进行用户校验;
    • 用户信息存储在客户端;

http各个版本之间有什么区别?

  • 1.0
    • 支持GET与POST;
  • 1.1
    • 支持缓存策略;
    • 支持长连接;
    • 支持断点续传(大文件分片上传);
    • 支持PUT,DELETE等新请求;
  • 2.0
    • 支持压缩header(减小体积);
    • 多路复用(并行HTTP请求);
    • 服务端推送(WebSocket更常用);

http和websocket有什么区别

  • websocket
    • 支持端对端通信
    • 客户端和服务端均可发起;
    • 支持跨域;

安全

如何预防XSS跨站请求攻击?

  • 什么是XSS攻击:
    • XSS攻击是在页面中嵌入<script>脚本,从而获取cookie等隐私信息,并将其保存到攻击方服务器上的一种攻击方式。
  • 预防XSS攻击的方法:
    • 替换特殊字符,将<变为&lt;,将>变为&gt;。处理后,攻击脚本会作为文本在页面上显示,而不会执行脚本。