### 2020年美团校园招聘面试经验总结 #### OSI七层模型及HTTP2相较于HTTP1.x的主要改进 **OSI七层模型**是一种理论上的网络架构模型,它将网络通信的过程分解为七个逻辑层次,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层负责特定的功能,并且上一层依赖于下一层提供的服务。 1. **HTTP2使用二进制传送**:HTTP2采用了二进制格式,而非HTTP1.x中的纯文本格式。这意味着数据是以帧的形式传输的,每个帧都有一个明确的标识符(流ID),这使得数据处理更加高效和快速。 2. **HTTP2支持多路复用**:通过流ID的概念,HTTP2可以在单个TCP连接上同时处理多个请求和响应,大大提高了网络资源的利用率。多路复用避免了为每个请求创建新连接所带来的开销,降低了延迟。 3. **HTTP2头部压缩**:为了减少传输的数据量,HTTP2使用HPACK算法对头部进行压缩,同时客户端和服务器各自维护一张头部信息表。这种方式减少了重复数据的传输,提升了效率。 4. **HTTP2支持服务器推送**:HTTP2允许服务器在未收到客户端请求的情况下主动推送数据到客户端。这一特性对于提高用户体验非常有用,特别是在加载页面时预加载资源方面。 #### HTTPS及其证书作用 **HTTPS**是一种通过HTTP进行安全通信的协议,其核心在于使用了SSL/TLS协议来加密数据。HTTPS的主要特点是: 1. **内容加密**:采用混合加密技术,确保数据在传输过程中不被第三方截取或篡改。 2. **验证身份**:通过数字证书验证客户端访问的是真实的服务器。 3. **保护数据完整性**:防止数据在传输过程中被修改或替换。 **数字证书**包含了服务器的公钥、权威机构的信息、服务器域名以及经过权威机构私钥签名的证书内容。客户端在接收到证书后会验证其有效性,以确保证书未被篡改并且确实属于目标服务器。 **SSL/TLS建立连接过程**主要包括以下步骤: 1. 客户端发送初始连接请求至服务器的443端口。 2. 服务器回应客户端,发送匹配的加密算法。 3. 服务器发送数字证书给客户端。 4. 客户端验证证书的有效性并生成预主密钥。 5. 客户端使用证书中的公钥加密预主密钥后发送给服务器。 6. 服务器解密预主密钥,并生成会话密钥。 7. 客户端和服务端使用会话密钥加密通信数据。 **验证证书安全性过程**: 1. 客户端使用权威机构的公钥解密证书中的数字签名。 2. 计算证书信息摘要并与解密后的摘要对比。 3. 如果一致,则证明证书未被篡改,可信任。 #### 应用层的作用 **应用层**位于OSI七层模型的最顶层,直接面向用户和应用程序。它的主要功能是提供常见的网络服务,如文件传输(FTP)、电子邮件(SMTP)、Web服务(HTTP)等。 #### HTTP报文结构 **HTTP报文**分为请求报文和响应报文两种。报文的基本结构包括: - **请求行**:包含请求方法(如GET、POST)、请求的URL和HTTP版本。 - **首部行**:提供了关于请求或响应的附加信息,如User-Agent、Accept-Encoding等。 - **状态行**:仅在响应报文中出现,指出了HTTP版本和状态码。 通过以上分析可以看出,这些面试问题涵盖了网络通信的基础知识,对于应聘者来说,掌握这些知识不仅能帮助他们在面试中表现出色,还能在未来的工作中更好地理解系统底层原理和技术细节。
剩余24页未读,继续阅读
- 粉丝: 9
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip
- (源码)基于计算机系统原理与Arduino技术的学习平台.zip
- (源码)基于SSM框架的大学消息通知系统服务端.zip
- (源码)基于Java Servlet的学生信息管理系统.zip
- (源码)基于Qt和AVR的FestosMechatronics系统终端.zip