我正在参与掘金创作者训练营第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证书:避免中间人攻击,由浏览器进行校验;
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攻击是在页面中嵌入
- 预防XSS攻击的方法:
- 替换特殊字符,将
<变为<,将>变为>。处理后,攻击脚本会作为文本在页面上显示,而不会执行脚本。
- 替换特殊字符,将