跳至主要內容

计算机网络面试习题(中)

CodeShouhu大约 28 分钟使用指南Markdown

计算机网络面试题

1,为什么服务器会缓存这一项功能?如何实现的?

原因缓解服务器压力降低客户端获取资源的延迟:缓存通常位于内存中,读取缓存的速度更快。并且缓存服务器在地理位置上也有可能比源服务器来得近,例如浏览器缓存。

实现方法:让代理服务器进行缓存; 让客户端浏览器进行缓存。

速记

缓存作用真奇妙,服务器压能减少。
客户端上延迟少,内存读取速度高。
地理距离也近了,浏览器里缓存好。
实现方法有两套,代理客户都能搞。

2,计算机网络中的重传机制有哪些

计算机网络中的重传机制有以下几种:

  1. 超时重传:发送数据时设定一个定时器,当超过指定时间后没有收到对方的ACK确认应答报文就会重发数据。
  2. 快速重传:它不以时间为驱动,以数据为驱动。它一次传递多个数据包,当收到三个相同的 ACK 报文时,重传丢失的报文段。
  3. D - SACK:某些传输控制协议如TCP使用一种称为选择性确认 (SACK) 的机制,该机制允许接收方通知发送方只重传它收到的数据包的一部分,而不是全部。

这些重传机制的出现主要是因为数据包在网络传输过程中可能会丢失或者确认应答丢失,通过这些机制来保证数据的完整性和可靠性。

速记

网络重传有妙方,超时快传DSACK强。超时设时等ACK,快传凭包三相同。SACK选传更高效,数据完整有保障。

3,ARQ协议

ARQ协议,即自动重传请求(Automatic Repeat-reQuest),是计算机网络中一种常见的重传机制。其工作原理是,发送方在发送数据后等待一段时间,如果没有收到确认回执(ACK),则认为数据没有成功传输,会重新发送数据。

在ARQ协议中,根据具体实现的不同,可以分为停止等待ARQ协议和连续ARQ协议。

  1. 停止等待ARQ协议:发送方发送一个数据帧后,会等待接收方的确认回执。如果收到确认回执,则继续发送下一个数据帧;如果收到否定回执(NAK)或超过定时时间仍未收到确认回执,则发送方会重发该数据帧。

    优点: 简单

    缺点: 信道利用率低,等待时间长

  2. 连续ARQ协议:连续ARQ协议是一种改进的ARQ协议,它在发送方和接收方之间建立了一个滑动窗口,可以一次连续发送多个数据帧。如果接收方正确接收了所有数据帧,则会逐个返回确认回执。如果发送方没有收到某个数据帧的确认回执,则会重发该数据帧。

    优点: 信道利用率高,容易实现,即使确认丢失,也不必重传。

    缺点: 不能向发送方反映出接收方已经正确收到的所有分组的信息。 比如:发送方发送了 5 条 消息,中间第三条丢失(3 号),这时接收方只能对前两个发送确认。发送方无法知道后三个分组的下落,而只好把后三个全部重传一次。这也叫 Go-Back-N(回退 N),表示需要退回来重传已经发送过的 N 个消息。

因此,可以说ARQ协议是一种以超时时间来保证数据可靠传输的机制。

速记

ARQ 协议重传妙,超时无 ACK 就重报。实现分俩道,停等连续各有招。
停等简单有烦恼,信道低效等待熬。连续改进窗口搞,多发快传效率高。
虽易实现有痛脚,信息反馈不周到,Go - Back - N 全回包,超时保障传输牢。

4,在浏览器中输入 url 地址 ->> 显示主页的过程(面试常客)或者说一下一次完整的HTTP请求过程包括哪些内容?

第一种回答

建立起客户机和服务器连接。

建立连接后,客户机发送一个请求给服务器。

服务器收到请求给予响应信息。

客户端浏览器将返回的内容解析并呈现,断开连接。

第二种回答

域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到 html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --> 浏览器对页面进行渲染呈现给用户。

速记

请求流程有两套,且听我来表一表。
首套连接先建立,客户请求服务器。
服务响应回信息,解析呈现就完毕。
次套流程较细致,域名解析先开始。
TCP 握手连三次,HTTP 请求随后至。
服务器回 HTML,资源请求不延迟。
页面渲染终完事,用户眼前展风姿。

5,状态码有哪些

1xx Informational(信息性状态码)

相比于其他类别状态码来说,1xx 你平时你大概率不会碰到,所以这里直接跳过。

2xx Success(成功状态码)

200 OK :请求被成功处理。比如我们发送一个查询用户数据的HTTP 请求到服务端,服务端正确返回了用户数据。这个是我们平时最常见的一个 HTTP 状态码。

201 Created :请求被成功处理并且在服务端创建了一个新的资源。比如我们通过 POST 请求创建一个新的用户。

202 Accepted :服务端已经接收到了请求,但是还未处理。

204 No Content : 服务端已经成功处理了请求,但是没有返回任何内容。

3xx Redirection(重定向状态码)

301 Moved Permanently : 资源被永久重定向了。比如你的网站的网址更换了。

302 Found :资源被临时重定向了。比如你的网站的某些资源被暂时转移到另外一个网址。

4xx Client Error(客户端错误状态码)

400 Bad Request : 发送的HTTP请求存在问题。比如请求参数不合法、请求方法错误。

401 Unauthorized : 未认证却请求需要认证之后才能访问的资源。

403 Forbidden :直接拒绝HTTP请求,不处理。一般用来针对非法请求。

404 Not Found : 你请求的资源未在服务端找到。比如你请求某个用户的信息,服务端并没有找到指定的用户。

409 Conflict : 表示请求的资源与服务端当前的存状态在冲突,请求无法被处理。

5xx Server Error(服务端错误状态码)

500 Internal Server Error : 服务端出问题了(通常是服务端出Bug了)。比如你服务端处理请求的时候突然抛出异常,但是异常并为在服务端被正确处理。

502 Bad Gateway :我们的网关将请求转发到服务端,但是服务端返回的却是一个错误的响应。

速记

HTTP 状态码,类别不同要记牢。
1xx 不常见,日常使用可暂抛。
2xx 是成功,200 常见数据到。
201 创资源,202 收待搞,204 无回报。
3xx 要重定向,301 永久移新巢,302 临时换坐标。
4xx 客户端错,400 请求糟,401 未认证,403 被拦腰,404 找不到,409 有冲突闹。
5xx 服务端倒,500 内部抛,502 网关不妙。

OSI七层模型与TCP四层模型

6,OSI七层模型以及每一层对应的协议

计算机网络中的OSI七层协议每一层的作用如下:

  1. 物理层:这一层包括 物理连网媒介,如 电缆、连线、连接器 等,并涉及 物理层的协议产生和电压检测,以便能够 发送和接受携带数据的信号
  2. 数据链路层:这一层 控制网络层和物理层之间的通信,主要功能是在 不可靠的物理线路上进行数据的可靠传递
  3. 网络层:主要功能是将 网络地址翻译成对应的物理地址,并决定 如何将数据从发送方路由到接收方
  4. 传输层:这一层是 OSI模型中最重要的层,传输协议同时进行 流量控制 或者基于 对方可接受数据的快慢程度规定适当的发送速率。此外,该层也包括 全双工、半双工、流控制、错误恢复服务,并按照 网络能处理的最大尺寸将较长的数据包进行强行分割
  5. 会话层:负责在 网络中的两点之间建立和维护通信,如 建立回话、断点续传 等。
  6. 表示层:这一层是 应用程序和网络之间的翻译官,管理 数据的加密和解密,如 编码方式,图像编解码 等。
  7. 应用层:负责对 软件提供接口使能网络服务。简单来说,这一层就是 应用程序和网络之间的接口,为 应用程序提供服务

OSI模型是一个通用的网络模型,有助于理解和设计各种网络系统。在实际的网络通信中,这些层次是相互独立且协同工作的,每个层次都有自己的职责和功能。

OSI七层模型每一层对应的协议如下:

  1. 物理层EIA/TIA-232EIA/TIA-49MIL-STD-188-110SCCPISDNADSL等。
  2. 数据链路层DLC(数据链路控制协议)HDLC(高级数据链路控制协议)LAPB(局域网处理协议)PPTP(点对点隧道协议)、**L2TP(二层隧道协议)**等。
  3. 网络层IP协议(互联网协议)ICMP协议(互联网控制报文协议)ARP协议(地址解析协议)RARP协议(逆地址解析协议)OSPF协议(开放最短路径优先)BGP协议(边界网关协议) 等。
  4. 传输层TCP(传输控制协议)UDP(用户数据报协议)SPX(序列包交换协议) 等。
  5. 会话层RPC(远程过程调用协议)SQL(结构化查询语言)NFS(网络文件系统)X WINDOWSASP(活动服务器页面) 等。
  6. 表示层JPEGTIFFSSL/TLSHTTP安全传输HTMLXMLSSLTLS握手 等。
  7. 应用层FTP(文件传输协议)TELNET(远程登录协议)DNS(域名服务)SMTP(简单邮件传输协议)NFS(网络文件系统)HTTP(超文本传输协议) 等。

OSI模型是一种通用的网络模型,有助于理解和设计各种网络系统。在实际的网络通信中,这些层次是相互独立且协同工作的,每个层次都有自己的职责和功能。

速记

OSI 七层要记牢,各层作用很重要。
物理层里媒介找,电缆连器电压瞧,信号收发有诀窍。
数据链路不可靠,控制通信保可靠。
网络层中地址导,路由寻径有高招。
传输层最呱呱叫,流量控制速率调,包儿分割有技巧,错了恢复不能少。
会话层间建通道,断点续传真周到。
表示层是翻译官,加密解码编图片。
应用层把接口造,软件服务它来搞。
协议对应要知晓,每层都有好代表。
物理 EIA 与 ISDN,链路 HDLC 不简单。
网络 IP 与 ARP,传输 TCP 与 UDP。
会话 RPC 与 SQL,表示 JPEG 加密全。
应用 FTP 与 HTTP,网络世界跑不完。

7,UDP对应的应用层协议

UDP 对应的应用层协议包括以下几种

  1. NFS(网络文件系统)用于在网络上共享文件系统,使不同的计算机可以 访问和修改网络上的文件
  2. SNMP(简单网络管理协议)用于管理和监控网络设备,如路由器、交换机等。
  3. DNS(主域名称系统)用于将网站的域名解析为 IP 地址,使我们能够 通过域名找到对应的服务器
  4. TFTP(通用文件传输协议)一种简单的文件传输协议,通常用于 在网络上传输配置文件或软件更新

除了上述应用层协议外,UDP 还被用于许多其他应用,如 流媒体传输、VoIP(网络电话) 等。

速记

UDP 上层协议妙,NFS 共享文件俏。
SNMP 管设备好,DNS 域名 IP 找。
TFTP 传文件巧,流媒电话也用到。

8,网络层常见的协议与作用

网络层常见的协议与作用如下

  1. 网际协议(IP)IP 是因特网使用的一种最为广泛的网络层协议,它的主要功能是 将数据包从源地址传输到目的地址,同时负责 数据包的路由选择、分段和重组等功能
  2. 互联网控制报文协议(ICMP)ICMP 是用于在 IP 网络中发送错误和控制消息的协议,它能够 检测和报告通信错误并进行故障排除,是 诊断网络问题和管理网络的重要工具
  3. 地址解析协议(ARP)ARP 是为了 将 IP 地址转换为物理地址 而存在的协议。它通过 查询网络上的 MAC 地址表,将目标 IP 地址映射为物理地址,从而实现 传输控制协议(TCP)、用户数据报协议(UDP)等传输层协议与数据链路层之间的交互
  4. 网际组管理协议(IGMP)IGMP 是一种能够在 多播环境下实现组成员管理 的协议。它使得多个系统可以 共享相同的 IP 多播地址,同时也能够让组成员 加入和离开 IP 多播组,以便在多播会话中 接收或不接收数据包
  5. 网络地址翻译(NAT)NAT 是一种实现 IPv4 地址转换 的技术,主要用于 解决 IPv4 地址不足的问题。NAT 通过 更改数据包中的源地址和目的地址,将私有 IP 地址映射为公网 IP 地址,从而实现 内部网络和公网之间的通信

速记

网络层里协议妙,各有职责不能少。
IP 传输本领高,路由分段它来搞。
ICMP 错误报,故障排查有高招。
ARP 地址转换好,IP MAC 对得巧。
IGMP 组管妙,多播成员管理到。
NAT 转换真可靠,IP 不足它来疗。

9,每一层数据传输的名称

在四层(传输层),数据被称作段(Segments)

在三层(网络层),数据被称做包(Packages)

在二层(数据链路层),数据被称为帧(Frames)

在一层(物理层),数据被称为比特流(Bits)

速记

网络分层数据妙,各层称呼要记牢。
四层传输叫段到,三层网络包在跑。
二层链路帧在飘,一层物理比特跳。

10,物理层的作用

计算机网络中的物理层主要负责确定与传输媒体接口有关的一些特性,包括机械特性、电气特性、功能特性和规程特性

在通信方式方面,物理层根据信息在传输线上的传送方向,分为以下三种通信方式:

  1. 单工通信:只能有一个方向的通信而没有反方向的交互,即只能 A 向 B 发送信息,不能 B 向 A 发送信息。
  2. 半双工通信:通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。即 A 向 B 发信息时,B 不能向 A 发信息;反之亦然。
  3. 全双工通信:通信的双方可以同时发送和接收信息。这种通信方式需要两条信道。

速记

物理层来职责明,接口特性要确定。
机械电气功能全,规程特性也周全。
通信方式分三种,单工单向没回应。
半双工是轮流传,全双工能同时行,两条信道保畅通。

11,通道复用技术在数据链路层

频分复用(FDM,Frequency Division Multiplexing):不同用户在不同频带,所用用户在同样时间占用不同带宽资源

时分复用(TDM,Time Division Multiplexing):不同用户在同一时间段的不同时间片,所有用户在不同时间占用同样的频带宽度

波分复用(WDM,Wavelength Division Multiplexing):光的频分复用

码分复用(CDM,Code Division Multiplexing):不同用户使用不同的码,可以在同样时间使用同样频带通信

速记

复用方式有多种,各有特点要记清。
频分 FDM 占带宽,同一时间频带分。
时分 TDM 看时间,不同时段频同占。
波分 WDM 光频用,码分 CDM 码不同。
同频同时也能通,通信高效真实用。

12,数据链路层

主要信道:点对点信道 广播信道

(1)点对点信道

数据单元:帧 三个基本问题:

封装成帧:把网络层的 IP 数据报封装成帧,SOH - 数据部分 - EOT

透明传输:不管数据部分什么字符,都能传输出去;可以通过字节填充方法解决(冲突字符前加转义字符)

差错检测:降低误码率(BER,Bit Error Rate),广泛使用循环冗余检测(CRC,Cyclic Redundancy Check)

点对点协议(Point-to-Point Protocol):用户计算机和 ISP 通信时所使用的协议

(2)广播信道

广播通信:

硬件地址(物理地址、MAC 地址)

单播(unicast)帧(一对一):收到的帧的 MAC 地址与本站的硬件地址相同

广播(broadcast)帧(一对全体):发送给本局域网上所有站点的帧

多播(multicast)帧(一对多):发送给本局域网上一部分站点的帧

速记

网络信道有两类,点对广播要记内。
点对数据帧为元,三问封装透检全。
封装 IP 加首尾,SOH 到 EOT 收尾。
透明传输无阻碍,字节填充巧避开。
差错检测用 CRC,误码降低有成绩。
P2P 连用户 ISP,协议沟通不缺席。
广播信道靠 MAC,单播独对多播抓。
广播全体都拿下,地址识别别弄差。

13,TCP/IP 四层模型

TCP/IP 四层模型包括以下四个层次:

  1. 应用层:这一层对应于 OSI 参考模型的高层:应用层、表示层、会话层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等。
  2. 传输层:这一层对应于 OSI 参考模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。TCP 即传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通讯协议。 TCP 是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于 TCP 是面向连接的所以只能用于端到端的通讯。 TCP 提供的是一种可靠的数据流服务,采用带重传的肯定确认技术来实现传输的可靠性。 TCP 还采用一种称为滑动窗口的方式进行流量控制。
  3. 网际互联层:这一层对应于 OSI 参考模型的网络层,主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上的逻辑传输IP 协议是网际互联层最重要的协议,它提供的是一个可靠、无连接的数据报传递服务
  4. 网络接入层:这一层与 OSI 参考模型中的物理层和数据链路层相对应。它负责监视数据在主机和网络之间的交换

速记

网络分层记心间,四层功能要了然。
应用高层来服务,FTP 等把需求顾。
传输端到端通信,TCP 可靠有保证。
三次握手连得稳,滑动窗口控流准。
网际互联主机通,IP 协议来领功。
网络接入层关键,物链两层数据管。

14,为什么要网络分层

网络分层设计是构建现代计算机网络的关键策略,其重要性体现在以下几点:

(1)简化系统设计与维护
网络系统复杂,分层将其拆分为多个独立层次,各层专注特定功能。设计时工程师可分别优化各层,无需兼顾全局;维护时也能快速定位故障层次,提高效率。

(2)增强系统可扩展性
技术发展使网络需不断升级。分层设计下,新增功能或改进现有功能只需修改对应层次,不影响其他层,确保系统能灵活适应变化

(3) 促进标准化与互操作性
分层为协议标准化提供便利,不同厂商按统一标准开发各层协议和功能。只要接口符合标准,不同设备和系统就能相互兼容通信,推动网络全球化发展

(4)提高层次独立性与灵活性
各层有独立功能和接口,通过接口交互。这使各层可独立发展,只要保持接口兼容,就能在不影响整体系统的前提下进行升级和改进

速记

网络分层策略妙,四大好处要记牢。
设计维护都简化,独立层次效率高。
扩展升级更灵活,改动单层影响小。
标准统一互操作,全球通信没烦恼。
层次独立又灵活,接口兼容随便搞。

HTTP协议与HTTPS协议

14,HTTP 协议介绍

HTTP协议,全称为“超文本传输协议”,是一种应用层通信协议,用于在客户端浏览器或其他程序与Web服务器之间进行通信。它通常运行在TCP协议之上,规定了客户端可能发送给服务器什么样的消息以及得到什么样的响应

HTTP协议的主要特点有以下几点:

  1. 高效HTTP协议无连接的,在进行HTTP报文交换前,不需要建立HTTP连接,这使得其传输效率较高。另外,HTTP协议在传输数据时,只需要传输请求方法路径,而不需要像TCP那样进行复杂的确认校验,这也大大提高了传输效率
  2. 可靠性:虽然HTTP协议无连接的,但在实际应用中,其可靠性却很高。这是因为在HTTP 1.0中,采用了TCP作为传输层协议,通过TCP确认校验机制,保证了数据传输准确性稳定性。而在HTTP 1.1中,引入了持久连接,使得在一个TCP连接上可以连续发送多个请求和接收多个响应,进一步提高了传输可靠性
  3. 兼容性好HTTP协议支持B/SC/S两种模式,可以适应不同的应用场景。无论是浏览器Web服务器之间的通信,还是其他程序与Web服务器之间的通信,都可以使用HTTP协议进行数据传输
  4. 灵活性高HTTP协议允许传输任意类型的数据对象,无论是文本图片音频还是视频多媒体文件,都可以通过HTTP协议进行传输。同时,HTTP协议也支持对传输的数据进行压缩解压缩,使得数据传输更加灵活高效

总的来说,HTTP协议是一种简单快速可靠兼容性好灵活应用层通信协议,是互联网上应用最广泛的一种网络协议

HTTP协议的优点主要有以下几点:

  1. 简单快速HTTP协议简单,使得其开发实现较为容易,同时能够快速地完成数据传输
  2. 无连接HTTP协议无连接的特点使得其可以同时处理多个请求,并且减少了网络连接建立断开开销,提高了传输效率
  3. 无状态HTTP协议无状态的特点使得其可以更好地应对网络中断服务器故障等情况,因为服务器不需要保存之前的信息
  4. 灵活HTTP协议可以传输任意类型的数据对象,无论是文本图片音频还是视频多媒体文件,都可以通过HTTP协议进行传输。
  5. 应用广泛:由于HTTP协议简单快速无连接无状态灵活等特点,使得其被广泛应用于Web开发网络下载API接口调用等场景。

HTTP协议的缺点主要有以下几点:

  1. 明文不安全HTTP协议使用明文的方式进行数据传输,没有任何加密措施,容易被窃听拦截,无法保证数据机密性完整性
  2. 不安全:由于HTTP协议本身不提供身份验证机制,因此无法保证通信双方身份验证,容易被攻击者伪造或冒充。
  3. 无法做连续多个步骤的操作:由于HTTP协议无状态的特点,每个请求都需要单独处理,无法保存状态信息,因此无法做连续多个步骤的操作,给应用开发维护带来一定的不便。
  4. 请求 - 应答”模式:HTTP协议采用“请求 - 应答”模式进行通信,每个请求都需要单独发送和接收响应,这在一定程度上加剧了网络性能问题,特别是在高并发情况下可能导致请求处理不及时或响应延迟

需要注意的是,上述优缺点并不是绝对的,在不同的应用场景下,这些优缺点可能有所变化或被弱化。例如,在安全性要求不高内部网络中,使用HTTP协议可能不会带来太大问题;而在需要保护敏感数据的场景中,就需要考虑使用更加安全的协议,如HTTPS协议等。

速记

HTTP 协议很重要,超文本传应用妙。
客端服务来通信,TCP 之上把活搞。
主要特点有不少,高效可靠兼容高。
无连传输速度快,持久连接更可靠。
B/S C/S 都兼容,多种数据都能跑。
优点多多要记牢,简单快速效率高。
无连无态好应对,应用广泛是个宝。
缺点也有别小瞧,明文传输不安全。
身份验证缺保障,连续操作有点难。
请求应答有局限,高并发时易迟延。
场景不同优缺点,合适协议才心安。

15,HTTPS 协议介绍

HTTPS 协议Hyper Text Transfer Protocol Secure),是 HTTP 的加强安全版本。HTTPS 是基于 HTTP 的,也是用 TCP 作为底层协议,并额外使用 SSL/TLS 协议 用作加密和安全认证。默认端口号是 443

HTTPS 协议 中,SSL 通道 通常使用基于密钥的加密算法,密钥长度通常是 40 比特128 比特

HTTPS 协议优点

保密性好信任度高

HTTPS 的核心SSL/TLS 协议

HTTPS 之所以能达到较高的安全性要求,就是结合了 SSL/TLSTCP 协议,对通信数据进行加密,解决了 HTTP 数据透明 的问题。接下来重点介绍一下 SSL/TLS 的工作原理。

速记

HTTPS 很安全,HTTP 来加强。
TCP 作底层,SSL/TLS 保安全。
默认端口 443,加密认证不简单。
SSL 通道密钥算,40 128 比特全。
保密信任优点显,数据加密心不悬。
SSL/TLS 是关键,HTTP 透明得改变。

16,什么是SSL/TLS ?

SSL 代表 安全套接字层。它是一种用于 加密验证 应用程序(如浏览器)和 Web服务器 之间发送的数据的 协议身份验证加密 HTTPS 的加密机制是一种 共享密钥加密公开密钥加密 并用的 混合加密机制

SSL/TLS协议 作用:认证用户和服务加密数据维护数据的完整性应用层协议加密解密 需要两个不同的 密钥,故被称为 非对称加密加密解密 都使用同一个 密钥

对称加密:优点在于 加密解密效率 通常比较高 ,HTTPS 在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段

速记

SSL 安全套接层,加密验证把数传。
HTTPS 加密不简单,公私密钥来做伴。
SSL/TLS 功能全,认证加密保安全。
非对称俩钥来管,对称单钥效率赞。
传输用对加密算,证书验证非对担。

17,HTTPS是如何保证数据传输的安全,整体的流程是什么?(SSL是怎么工作保证安全的)

(1)客户端向服务器端发起SSL连接请求;

(2) 服务器把公钥发送给客户端,并且服务器端保存着唯一的私钥

(3)客户端用公钥对双方通信的对称秘钥进行加密,并发送给服务器端

(4)服务器利用自己唯一的私钥对客户端发来的对称秘钥进行解密,

(5)进行数据传输,服务器和客户端双方用公有的相同的对称秘钥对数据进行加密解密,可以保证在数据收发过程中的安全,即使第三方获得数据包,也无法对其进行加密、解密和篡改。

速记

SSL 连接步骤妙,听我来把口诀道。
客户先把请求抛,服务公钥送一道。
客户公钥加密钥,传给服务莫心焦。
服务私钥来解密,对称密钥到手了。
数据传输安全保,对称加解密可靠。
三方截包也白搞,篡改解密做不到。

17,HTTPS与HTTP的区别

HTTP 是一种无状态应用层协议HTTPS 是在HTTP的基础上增加了安全套接层SSL),用于加密验证HTTP的通信。
HTTP 是一种明文传输的协议,HTTPS 是一种加密传输的协议。
HTTP 的默认端口是80HTTPS 的默认端口是443

速记

HTTP 无状态,应用层里常存在。
明文传输易泄露,默认端口八零开。
HTTPS 更厉害,HTTP 加个 SSL 带。
加密验证有能耐,四四三端口安全在。

15,页面从输入url到页面展示发生什么

从输入URL到页面最终展示在用户眼前,是一个涉及多个网络协议计算机组件渲染流程的复杂过程。以下是这一过程的详细分解:

(1)URL解析与DNS查询

  • URL解析:用户输入URL,浏览器解析出协议域名路径查询参数
  • DNS查询:浏览器向本地DNS服务器域名对应的IP地址,无缓存则向根DNS服务器顶级域名服务器权威DNS服务器逐级查询。

(2)建立TCP连接
浏览器用IP地址,经TCP协议与服务器三次握手SYNSYN - ACKACK)建连。

(3)发送HTTP请求

  • 构建请求:据URL和操作(GETPOST)构建含请求行请求头请求体HTTP请求报文
  • 发送请求:通过TCP连接发往服务器。

(4)服务器处理请求

  • 接收解析:服务器接收并解析HTTP请求报文,识别资源路径请求方法
  • 查找处理:按资源路径找资源,动态资源执行PHPPython等脚本生成响应内容
  • 构建响应:生成含状态行响应头响应体HTTP响应报文

(5)发送HTTP响应
服务器经TCP连接HTTP响应报文返回浏览器。

(6)浏览器接收并解析响应

  • 接收解析:浏览器解析HTTP响应报文,获状态行响应头响应体
  • 处理响应状态码200(OK)时,按Content - Type处理响应体

(7)渲染页面

  • 解析HTML:建DOM树,遇外部资源发新HTTP请求
  • 解析CSS:下载并解析CSS文件,建CSSOM树
  • 合并渲染:合并DOM树CSSOM树渲染树,算布局后绘制。
  • 执行JS:执行JavaScript代码,可能触发重排回流

(8)页面展示与交互

  • 页面展示:完成上述步骤后页面呈现。
  • 用户交互:用户操作(如点击链接、填表单)触发事件,可能重发HTTP请求或执行JavaScript代码更新页面。
    以上是从输入URL到页面最终展示在用户眼前的整个过程,涉及多个网络协议、计算机组件和渲染流程。

速记

URL输入事一桩,解析查询找方向。
DNS里寻IP,无缓存时逐级访。
TCP握手建连忙,HTTP请求发得响。
服务器中处理棒,响应返回路通畅。
浏览器接细端详,解析渲染展华章。
页面呈现闪光芒,交互操作乐未央。