根据牛客网中 前端面经,学习了自己总结吸收 归纳如下:

http 与 https ssl关系

http 80端口,超文本传输协议(面向连接的TCP TCP连接时需要三次握手,断开时需要四次挥手),未加密的,明文传输
https 443端口,是可进行加密传输和身份验证的网络协议,他的加密就是用的ssl,ssl/ca证书是需要钱买的。是可以认证用户和服务器,确保数据发送到正确的客户机和服务器。是现行架构下最安全的解决方式,虽然不是绝对安全,但他增大了中间人的攻击成本。但握手的时间会长,会增加数据的开销。

TCP三次握手
因为http是无状态的,所以我们客户端和服务端双方需要进行SYN 和 ACK的传输

TCP与UDP区别
1.TCP面向连接的可靠传输,UDP无连接发送数据时不需进行连接
2.TCP是可靠连接,保证报文传输正确性,顺序性
3.TCP面向字节,UDP是面向报文
4.TCP只能支持1对1的传输,UDP是1对多 or 多对1
5.TCP首部开销20字节,UDP只用8字节

Websocket是什么?
WebSocket是HTML5中的协议,支持持久连续,http协议不支持持久性连接。Http1.0和HTTP1.1都不支持持久性的链接

BOM 浏览器对象 DOM 内容结点
BOM(Browser Object Model)是指浏览器对象模型,可以对浏览器窗口进行访问和操作。常用的BOM属性:
1.location对象
2.history对象 history.back()后退一页;history.forward()前进一页
3.Navigator对象
navigator.userAgent -- 返回用户代理头的字符串表示(就是包括浏览器版本信息等的字符串)
navigator.cookieEnabled -- 返回浏览器是否支持(启用)cookie

400,401,403状态码
(1)400状态码:请求无效
产生原因:
前端提交数据的字段名称和字段类型与后台的实体没有保持一致
前端提交到后台的数据应该是json字符串类型,但是前端没有将对象JSON.stringify转化成字符串。

解决方法:
对照字段的名称,保持一致性
将obj对象通过JSON.stringify实现序列化
(2)401状态码:当前请求需要用户验证
(3)403状态码:服务器已经得到请求,但是拒绝执行