大厂面试题之计算机网络重点篇 (附答案)

一、ISO 七层模型中表示层和会话层功能是什么?

  • 表示层:图像、视频编码解,数据加密。

  • 会话层:建立会话,如 session 认证、断点续传。

二、三次握手四次挥手的变迁图

《TCP/IP 详解 卷 1:协议》有一张 TCP 状态变迁图,很具有代表性,有助于大家理解三次握手和四次挥手的状态变化。如下图所示,粗的实线箭头表示正常的客户端状态变迁,粗的虚线箭头表示正常的服务器状态变迁。

image.png

三、对称密钥加密的优点缺点?

对称密钥加密(Symmetric-Key Encryption),加密和解密使用同一密钥。

  • 优点:运算速度快

  • 缺点:无法安全地将密钥传输给通信方

四、非对称密钥加密你了解吗?优缺点?

非对称密钥加密,又称公开密钥加密(Public-Key Encryption),加密和解密使用不同的密钥。

公开密钥所有人都可以获得,通信发送方获得接收方的公开密钥之后,就可以使用公开密钥进行加密,接收方收到通信内容后使用私有密钥解密。

非对称密钥除了用来加密,还可以用来进行签名。因为私有密钥无法被其他人获取,因此通信发送方使用其私有密钥进行签名,通信接收方使用发送方的公开密钥对签名进行解密,就能判断这个签名是否正确。

  • 优点:可以更安全地将公开密钥传输给通信发送方;

  • 缺点:运算速度慢。

五、HTTPS 是什么

HTTPS 并不是新协议,而是让 HTTP 先和 SSL(Secure Sockets Layer)通信,再由 SSL 和 TCP 通信,也就是说 HTTPS 使用了隧道进行通信。通过使用 SSL,HTTPS 具有了加密(防窃听)、认证(防伪装)和完整性保护(防篡改)。

六、HTTP 的缺点有哪些?

  • 使用明文进行通信,内容可能会被窃听;

  • 不验证通信方的身份,通信方的身份有可能遭遇伪装;

  • 无法证明报文的完整性,报文有可能遭篡改。

七、HTTPS 采用的加密方式有哪些?是对称还是非对称?

HTTPS 采用混合的加密机制,使用非对称密钥加密用于传输对称密钥来保证传输过程的安全性,之后使用对称密钥加密进行通信来保证通信过程的效率。

image.png

确保传输安全过程(其实就是 rsa 原理):

  1. Client 给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法。

  2. Server 确认双方使用的加密方法,并给出数字证书、以及一个服务器生成的随机数(Server random)。

  3. Client 确认数字证书有效,然后生成呀一个新的随机数(Premaster secret),并使用数字证书中的公钥,加密这个随机数,发给 Server。

  4. Server 使用自己的私钥,获取 Client 发来的随机数(Premaster secret)。

  5. Client 和 Server 根据约定的加密方法,使用前面的三个随机数,生成”对话密钥”(session key),用来加密接下来的整个对话过程。

八、为什么有的时候刷新页面不需要重新建立 SSL 连接?

TCP 连接有的时候会被浏览器和服务端维持一段时间,TCP 不需要重新建立,SSL 自然也会用之前的。

九、SSL 中的认证中的证书是什么?了解过吗?

通过使用 证书 来对通信方进行认证。

数字证书认证机构(CA,Certificate Authority)是客户端与服务器双方都可信赖的第三方机构。

服务器的运营人员向 CA 提出公开密钥的申请,CA 在判明提出申请者的身份之后,会对已申请的公开密钥做数字签名,然后分配这个已签名的公开密钥,并将该公开密钥放入公开密钥证书后绑定在一起。

进行 HTTPS 通信时,服务器会把证书发送给客户端。客户端取得其中的公开密钥之后,先使用数字签名进行验证,如果验证通过,就可以开始通信了。

image.png

十、HTTP 如何禁用缓存?如何确认缓存?

HTTP/1.1 通过 Cache-Control 首部字段来控制缓存。

禁止进行缓存

no-store 指令规定不能对请求或响应的任何一部分进行缓存。

Cache-Control: no-store

复制代码

强制确认缓存

no-cache 指令规定缓存服务器需要先向源服务器验证缓存资源的有效性,只有当缓存资源有效时才能使用该缓存对客户端的请求进行响应。

Cache-Control: no-cache

复制代码

十一、GET 与 POST 传递数据的最大长度能够达到多少呢?

get 是通过 URL 提交数据,因此 GET 可提交的数据量就跟 URL 所能达到的最大长度有直接关系。

很多文章都说 GET 方式提交的数据最多只能是 1024 字节,而实际上,URL 不存在参数上限的问题,HTTP 协议规范也没有对 URL 长度进行限制。

这个限制是特定的浏览器及服务器对它的限制,比如 IE 对 URL 长度的限制是 2083 字节(2K+35 字节)。对于其他浏览器,如 FireFox,Netscape 等,则没有长度限制,这个时候其限制取决于服务器的操作系统;即如果 url 太长,服务器可能会因为安全方面的设置从而拒绝请求或者发生不完整的数据请求。

post 理论上讲是没有大小限制的,HTTP 协议规范也没有进行大小限制,但实际上 post 所能传递的数据量大小取决于服务器的设置和内存大小。

因为我们一般 post 的数据量很少超过 MB 的,所以我们很少能感觉的到 post 的数据量限制,但实际中如果你上传文件的过程中可能会发现这样一个问题,即上传个头比较大的文件到服务器时候,可能上传不上去。

以 php 语言来说,查原因的时候你也许会看到有说 PHP 上传文件涉及到的参数 PHP 默认的上传有限定,一般这个值是 2MB,更改这个值需要更改 php.conf 的 post_max_size 这个值。这就很明白的说明了这个问题了。

十二、网络层常见协议?可以说一下吗?

image.png

十三、TCP 四大拥塞控制算法总结?(极其重要)

四大算法

拥塞控制主要是四个算法:1)慢启动,2)拥塞避免,3)拥塞发生,4)快速恢复。这四个算法不是一天都搞出来的,这个四算法的发展经历了很多时间,到今天都还在优化中。

慢热启动算法 – Slow Start

所谓慢启动,也就是 TCP 连接刚建立,一点一点地提速,试探一下网络的承受

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值