目录
一、OSI七层模型
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
二、 http和https的区别
应用层协议
超文本传输协议:用于服务器传输超文本到本地浏览器的传输协议;
(1)HTTPS需要申请CA证书或自制证书;
(2) HTTP是明文传输;HTTPS具有安全性的SSL加密;
(3)端口号不一致,HTTP是80端口;HTTPS是443;
三、HTTP请求方式,GET和POST的区别
本质上都是TCP连接,但由于HTTP的规定和浏览器/服务器的限制,导致它们在应用中的不同;(从技术层面上讲,GET可加上request body,但不保证能被接受,POST同理,可带上URL参数)
(1)GET请求参数放在URL中;POST请求参数放在request body上;
(2)对于参数类型,GET只接受ASCII字符;POST没有限制;
(3)GET没有POST安全,因为参数直接暴露在URL;
(4)GET请求可缓存,用于请求数据;POST请求不会被缓存,可创建或更新数据;
HTTP1.1新增请求方式:
HEAD:类似GET,但没有响应体;
PUT:用上传的内容替换目标资源中的所有当前内容;
DELETE:用来删除指定资源;
TRACE:回显服务器收到的请求,主要用于测试或诊断;
OPTIONS:允许客户端查看服务器的性能;
PATCH:局部更新
四、对称加密和非对称加密的区别
五、 http缓存机制
1. 强缓存
2. 协商缓存
六、HTTP状态码
七、HTTP请求和响应头部有哪些信息?
请求头:
1. Accept: 浏览器能够处理的内容类型;
2. Accept-Charset: 浏览器能够显示的字符集;
3. Accept-Encoding:
4. Accept-Language:
5. Connection: 连接的类型,例如:keep-alive
6. Cookie:
7. Host: 发出请求的页面所在域
8. Referer:发出请求的页面的URL
响应头:
1. Cache-Control: 控制HTTP缓存
八、TCP和UDP的区别,以及应用场景
传输层协议
1. 区别:
(1)TCP面向连接;UDP无连接;
(2)TCP面向字节流;UDP面向报文;
(3)TCP首部为20字节;UDP首部为8字节;
(4)TCP提供可靠的传输服务,传输的数据无差错,不丢失,不重复,且按序到达;
UDP尽最大努力交付;
2. 应用场景:
传输控制协议TCP:用于HTTP、HTTPS、FTP等传输协议,POP、SMTP邮件协议;
用户数据报协议UDP:用于语音、视频等;
九、TCP三次握手和四次挥手的过程
十、sessionStorage、localStorage和cookie的区别,以及操作api