前端面试总结13-http
1.http状态码分类:
1xx 服务器收到请求
2xx 请求成功如200
3xx 重定向,如302
4xx 客户端错误,如404
5xx 服务端错误,如500
2.常见状态码:
200 - 成功
301 - 永久重定向(配合location,浏览器自动处理)
302 - 临时重定向(配合location,浏览器自动处理)
304 - 资源未被修改
404 - 资源未找到
403 - 没有权限
500 - 服务器错误
504 - 网关超时
3.Restful Api
(1:传统methods即传统Api设计:基本只有get和post两个操作
把每个url当做一个功能
(2:现在的methods即Restful Api设计:get获取数据,post新建数据,patch/put更新数据,delete删除数据
把每个url当做一个唯一资源
即尽量不用url参数,用method表示操作类型
4.httpHeaders
(1:requestHeaders
Accept:浏览器可接收的数据格式
Accept-Encoding:浏览器可接收的压缩算法,如gzip
Accept-Language:浏览器可接收的语言,如zh-CN
Connection:keep-alive一次TCP连接重复使用
cookie
Host
User-Agent:浏览器信息
Content-type:发送数据的格式,如application/json
(2:responseHeader
Content-type:返回数据的格式,如application/json
Content-length:返回数据的大小,多少字节
Content-Encoding:返回数据的压缩算法,如gzip
set-Cookie
在axios中还能自定义header
(3:缓存相关的header

5.缓存
(1:什么是缓存
第一次访问完一个新网站后重新访问把某些不需要要重新获取的资源保存
(2:为什么现需要缓存
让页面内加载更快
(3:哪些资源可以被缓存
静态资源(js css img)
6.强制缓存与协商缓存
(1:强制缓存

Cath-control的值
max-age no-cache no-store private public
关于Expires
1)同在Response Headers中
2)同为控制缓存过期
3)已被Cath-control替代
(2:协商缓存
1)服务器端缓存策略
2)服务器判断客户端资源,是否和服务器端资源一样,一致则返回304,否则返回200与最新资源

3)资源标识
在ResponseHeaders中,有两种:Last-Modified资源的最后修改时间,Etag资源的唯一标识(一个字符串,类似于人类的指纹)
两者区别:
1,会优先使用Etag
2,Last-Modified只能精确到毫秒级
3,如果资源重复生成,而内容不变,则Etag更精准

7.三种刷新操作
1)正常操作:地址栏输入url,跳转链接,前进后退等
强制缓存有效,协商缓存有效
2)手动刷新:F5点击刷新按钮,右击菜单刷新
强制缓存失效,协商缓存有效
3)强制刷新ctrl+F5
强制缓存失效,协商缓存失效
8.http与https
1)http是明文传输,敏感信息容易被中间劫持
2)https=http+加密,劫持了也需要解密
3)现代浏览器已开始强制https协议
9.加密方式
1)对称加密:一个key同负责加解密
2)非对称加密:一对key,A加密后只能用B解密


浙公网安备 33010602011771号