面试总结-网络

HTTP与HTTPS的区别

HTTP(Hypertext Transfer Protocol)和HTTPS(Hypertext Transfer Protocol Secure)是用于在网络上传输数据的两种协议,它们在数据传输的安全性方面有明显的区别。

### 1. **安全性:**

- **HTTP:** 是一种不安全的协议,数据以纯文本形式传输,容易被中间人攻击截取和窃听。因此,不适合传输敏感信息,如用户名、密码等。

- **HTTPS:** 是一种安全的协议,通过使用 SSL/TLS 协议进行数据加密和身份验证。传输的数据经过加密,中间人难以窃取或篡改。适用于需要保护用户隐私和敏感信息的场景,如在线支付、登录等。

### 2. **加密方式:**

- **HTTP:** 不提供数据加密,数据以明文形式传输。

- **HTTPS:** 使用 SSL/TLS 协议对数据进行加密。SSL(Secure Sockets Layer)已经被现代化的 TLS(Transport Layer Security)所取代,TLS是SSL的继任者。

### 3. **端口:**

- **HTTP:** 默认使用端口80。

- **HTTPS:** 默认使用端口443。

### 5. **证书:**

- **HTTP:** 不需要使用证书。

- **HTTPS:** 使用数字证书来验证服务器的身份。这些证书由受信任的第三方机构(Certificate Authorities)签发,确保通信双方的身份。

### 6. **性能:**

- **HTTP:** 通信简单,传输速度较快。

- **HTTPS:** 加密和解密过程会增加一些开销,导致传输速度相对较慢。

### 7. **使用场景:**

- **HTTP:** 适用于不涉及敏感信息传输的场景,如普通网页浏览。

- **HTTPS:** 适用于需要保护隐私和敏感信息的场景,如在线支付、登录、个人信息传输等。

Http协议 1.0 1.1 2.0的区别

HTTP 协议是一种用于传输超文本数据的应用层协议,它定义了客户端和服务器之间的通信规则。HTTP 协议经历了多个版本的演变,包括 1.0、1.1 和 2.0 版本,每个版本都有其特点和区别。

1. **HTTP 1.0:**
   - 支持非持久连接:每个请求/响应完成后,TCP 连接会立即关闭,需要重新建立连接。
   - 不支持请求管道化:即不能在同一个连接上发送多个请求,需要等待前一个请求的响应后才能发送下一个请求。
   - 不支持分块传输编码:即不能将消息分成多个部分进行传输,需要一次性传输整个消息体。
   - 不支持压缩:即不能对消息进行压缩,传输效率较低。

2. **HTTP 1.1:**
   - 支持持久连接:默认情况下,连接会保持打开状态,可以在同一个连接上发送多个请求和接收多个响应,减少了 TCP 连接的建立和关闭次数,提高了传输效率。
   - 支持请求管道化:可以在同一个连接上同时发送多个请求,不需要等待前一个请求的响应。
   - 支持分块传输编码:可以将消息分成多个部分进行传输,提高了传输效率。
   - 支持压缩:可以对消息进行压缩,减少了传输数据的大小,提高了传输效率。

3. **HTTP 2.0:**
   - 多路复用(Multiplexing):可以在同一个连接上并行发送多个请求和接收多个响应,避免了请求/响应的阻塞,提高了传输效率。
   - 二进制分帧(Binary Framing):将 HTTP 报文分割为更小的二进制帧进行传输,减少了传输的开销,提高了传输效率。
   - 头部压缩(Header Compression):使用 HPACK 算法对 HTTP 头部进行压缩,减少了传输的大小,提高了传输效率。
   - 服务器推送(Server Push):服务器可以在客户端发送请求之前主动推送资源给客户端,减少了客户端请求的次数,提高了加载速度。

总的来说,HTTP 1.1 在 1.0 的基础上增加了持久连接、请求管道化、分块传输编码和压缩等特性,提高了传输效率。而 HTTP 2.0 在 1.1 的基础上进一步提高了传输效率,引入了多路复用、二进制分帧、头部压缩和服务器推送等特性。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCP(Transmission Control Protocol)是一种面向连接的可靠传输协议,用于在网络中的不同主机之间进行数据传输。作为一名网络工程师,在TCP面试中,通常会被问及以下几个方面的问题: 首先,面试官可能会询问TCP的基本概念和工作原理。在回答这个问题时,我会解释TCP是一种面向连接的协议,它负责将数据分割成小的数据包,发送给目标主机,并确保它们能够按照正确的顺序重新组装。我还会提到TCP使用三次握手的方式建立连接,并使用序号和确认号字段来保证数据的可靠性传输。 其次,我可能会被要求解释TCP的拥塞控制机制。我会强调拥塞控制的重要性,以防止网络拥塞和数据丢失。我会提到慢启动、拥塞避免和快速恢复等算法,这些算法能够根据网络状况动态调整发送数据的速率,以保证网络的稳定性和性能。 接下来,面试官可能会问到TCP连接的建立和终止过程中的具体步骤。我会详细阐述三次握手和四次挥手的过程,并强调每个步骤所涉及的控制信息和状态转换。 此外,面试官可能会询问我对TCP/IP协议族的了解程度。我会解释TCP是TCP/IP协议族中的一个重要协议,负责应用层和网络层之间的可靠数据传输。同时,我还会提到TCP/IP协议族的其他重要协议,如IP、HTTP、FTP等,以展示我的全面知识和综合能力。 最后,我会补充说一下如何使用抓包工具(如Wireshark)进行TCP网络故障排除。我会强调使用抓包工具可以在数据包级别捕获和分析网络通信,以帮助识别和解决网络中的问题,并提供优化网络传输的建议和调整。 总结来说,面试TCP时,我会展示对TCP基础概念和工作原理的理解,拥塞控制机制的熟悉,连接建立和终止的具体步骤的熟悉,对TCP/IP协议族的整体了解,以及如何使用抓包工具进行故障排除的能力。这些都是网络工程师应该具备的关键知识和技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值