1.跨域问题
- 同源策略:需要协议、域名、端口号相同
- 跨域原因:不符合同源策略便会产生跨域问题
- 解决跨域:JSONP、配置代理、通过CORS解决
2.RPC和HTTP的区别
主要区别是序列化和反序列化,RPC通过二进制高效传输,HTTP是json格式传输,序列化更消耗性能;RPC可以基于TCP,也可以基于HTTP,而THHP只能基于HTTP;RPC自带负载均衡,HTTP需要使用nginx之类的来实现。
3.http协议版本区别
- HTTP1.0是短连接
- 1.1是长连接,为文本传输
- 2.0是长连接支持多路复用,支持头部压缩和服务器推送,二进制传输,1.0和2.0都是tcp连接
- 3.0是udp,3.0的优点有连接迁移、无队头阻塞、自定义拥塞控制、前向安全和前向纠错
4.在一个网站中输入url会发生什么
- DNS解析,将域名转化为ip地址
- tcp连接,三次握手
- 发送http请求
- 服务器响应,生成http报文返回给浏览器
- 浏览器渲染
- 关闭连接
5.GET和POST的请求的区别
- 传递的参数不同,
POST
传递的参数在request body
中,GET
传递的参数在url
后拼接 GET
请求一般用于查询,POST
一般用于提交某种信息进行某些修改操作POST
相对GET
请求安全GET
请求会被浏览器主动缓存,POST
不会,要手动设置GET
请求长度有限制,POST
没有
6.HTTP状态码
- 1XX: 请求正在处理
- 2XX:正常状态码
- 200 :请求处理成功
- 201 : 请求成功并且服务器创建了新资源
- 202 :服务器已经接收请求,但尚未处理
- 3XXX:重定向状态
- 301 :请求重定向
- 302: 临时重定向
- 303: 临时重定向,使用get请求新的url
- 304:浏览器缓存相关
- 4XX:错误状态码
- 400: 服务器无法理解请求格式,需要修改请求内容后再次发起请求
- 401: 请求未授权
- 403: 禁止访问
- 404: 服务器上无法找到请求资源
- 5XX:服务器错误
- 500: 服务端错误
- 503: 服务器暂时无法处理请求
7.TCP和UDP的区别
TCP
- 面向连接
- 一对一,不支持广播和多播
- 面向字节流
- 可靠传输
- 提供拥塞控制
- 提供全双工通信
UDP
- 面向无连接,不需要建立三次握手
- 支持一对一、一对多、多对多方式
- 面向报文
- 不可靠
8.UDP协议为什么不可靠
- 传输数据之前不需要先建立连接
- 不需要确认
- 不跟踪连接
9.HTTP和HTTPS协议的区别
HTTPS
需要CA证书,HTTP
不需要HTTP
是明文传输,不安全;而HTTPS
基于SSL
进行加密,相对安全HTTP
端口为80
,HTTPS
端口443