跨域问题
备注: + 代表被问到的次数,没有 + 代表自己整理了,但没被问到
1.跨域处理 +
1. 后端设置cors
2. jsonp
3. 也可以使用服务器端代理(后端代理)将请求发给我方服务器,我方服务器去目标服务器拿去数据,再将拿到的数据发回给前端页面
2.JSONP实现原理+
动态插入script
标签,通过script
标签引入一个js
文件,这个js文件载入成功后会执行我们在url参数中指定的函数,并且会把我们需要的json
数据作为参数传入。
缺点:是只支持GET请求。
3.同源策略指的是
协议,域名,端口相同
计算机网络相关
1.网络安全问题怎么处理++
xss:永远不要把用户的输入当代码
csrf:让请求无法伪造,让正常请求发出的内容跟伪造的不一样,即csrf token
2.介绍http2.0
- 二进制分帧
- 首部压缩
- 资源优先级
- 允许多路复用
- 服务器端推送
- 必须使用https
3.http1.1 如何复用tcp连接
Connection: keep-alive
Pipeline
4.Http报文的请求会有几个部分
3 部分/ 首行 头 体
5.http方法
- get 获取资源
- post 传输资源
- put 更新资源
- delete 删除资源
- head 获取报文头部
6.http特点
无连接,无状态,简单快速,灵活
7.http缓存控制
强缓存,协商缓存
8.http状态码+
- 1xx:指示信息
- 2xx:成功 200: ok:请求成功
- 3xx: 重定向 301:请求页面转移到新的url 302:临时 304:响应缓存
- 4xx:客户端错误 401:没有访问权限 403:禁止访问 404:访问不存在
- 5xx:服务器端错误 500:服务器发生错误 503:服务器临时过载或宕机
9.缓存相关的请求头
If-Modified-Since/Last-Modified
If-None-Match/Etag
Cache-Control
10.介绍一下https,https怎么建立安全通道的+
在http的基础上加了一层tls层。证书,公私钥,信任链,非对称加密
11.网络的五层模型
- 物理层
- 链路层
- 网络层
- 传输层
- 应用层
12.浏览器的本地存储有那些?分别有什么区别+
cookie、session、localStorage
- cookie属于HTTP协议的一部分,几乎每次请求都会带上(fatch就不会带)
- 而localStorage是html5 新增BOM api的一部分,你要主动的去读取它
- cookie只能存储最大4K的内容,localStorage最大一般是5MB
- cookie是一大串字符串,localStorage是一个mini型的kv数据库(sqlite实现的)
sessionStorage
用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage
不是一种持久化的本地存储,仅仅是会话级别的存储。
13.介绍localstorage的API
localstorage.get(key)
localstorage.set(key, val)
localstorage.clear()
14. get和post有什么区别
- 语意上 get是用来获取资源,post是用来向服务器增加资源
- get没有请求体 post有请求体
- get可被收藏,post不可以