计算机⽹络

23 篇文章 0 订阅
2 篇文章 0 订阅

本文从JavaGuide面试突击版整理得到,侵删。

1. OSI与TCP/IP各层的结构与功能,都有哪些协议?

计算机网络体系结构:
(a)OSI七层协议;
(b)TCP/IP四层协议;
(c)五层协议(中和 OSI 和 TCP/IP 的优点)。
在这里插入图片描述
应⽤层
应⽤层的任务是通过应⽤进程间的交互来完成特定⽹络应⽤。应⽤层协议定义的是应⽤进程间的通信和交互的规则。对于不同的⽹络应⽤需要不同的应⽤层协议。

应用层协议有很多,包括⽀持万维⽹应⽤的 HTTP协议,⽀持电⼦邮件的 SMTP协议,文件传输协议FTP,支持使用客户端远程管理在服务器上的电子邮件的POP3协议(提供了SSL加密的POP3协议被称为POP3S)、域名系统DNS。 把应⽤层交互的数据单元称为报⽂。

运输层
运输层的主要任务就是负责向两台主机进程之间的通信提供通⽤的数据传输服务。应⽤进程利⽤该服务传送应⽤层报⽂。“通⽤的”是指并不针对某⼀个特定的⽹络应⽤,⽽是多种应⽤可以使⽤同⼀个运输层服务。由于⼀台主机可同时运⾏多个线程,因此运输层有复⽤和分⽤的功能。所谓复⽤就是指多个应⽤层进程可同时使⽤下⾯运输层的服务,分⽤和复⽤相反,是运输层把收到的信息分别交付上⾯应⽤层中的相应进程。

运输层主要使⽤以下两种协议:

  1. 传输控制协议 TCP: 提供⾯向连接的,可靠的数据传输服务。
  2. ⽤户数据协议 UDP: 提供⽆连接的,尽最⼤努⼒的数据传输服务(不保证数据传输的可靠性)。

⽹络层
⽹络层的任务就是选择合适的⽹间路由和交换结点, 确保数据及时传送。 在发送数据时,⽹络层把运输层产⽣的报⽂段或⽤户数据报封装成分组进⾏传送。在 TCP/IP 体系结构中,由于 ⽹络层使⽤ IP 协议,因此分组也叫 IP 数据报 ,简称 数据报。

数据链路层
两台主机之间的数据传输,总是在⼀段⼀段的链路上传送的。 在两个相邻节点之间传送数据时,数据链路层将⽹络层交下来的 IP 数据报组装成帧,在两个相邻节点间的链路上传送帧。每⼀帧包括数据和必要的控制信息(如同步信息,地址信息,差错控制等)。
在接收数据时,控制信息使接收端能够知道⼀个帧从哪个⽐特开始和到哪个⽐特结束。这样,数据链路层在收到⼀个帧后,就可从中提出数据部分,上交给⽹络层。 控制信息还使接收端能够检测到所收到的帧中有误差错。如果发现差错,数据链路层可以直接丢弃这个出了差错的帧。如果需要改正数据在链路层传输时出现差错,那么就要采⽤可靠性传输协议来纠正出现的差错。

物理层
在物理层上所传送的数据单位是⽐特。 物理层的作⽤是实现相邻计算机节点之间⽐特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。 使其上⾯的数据链路层不必考虑⽹络的具体传输介质是什么。

总结一下,常见协议所在的层数:

HTTP协议 应用层
TCP协议 UDP协议 运输层
IP协议 网络层

2. 域名系统

域名系统缩写DNS,是因特⽹的⼀项核⼼服务,它作为可以将域名和IP地址相互映射的⼀个分布式数据库,能够使⼈更⽅便的访问互联⽹,⽽不⽤去记住能够被机器直接读取的IP数串。DNS协议运行在UDP协议之上,使用端口号53。

3. HTTP协议、HTTP报文

超⽂本传输协议(HTTP) 是互联⽹上应⽤最为⼴泛的⼀种⽹络协议。所有的 WWW(万维⽹) ⽂件都必须遵守这个标准。设计 HTTP 最初的⽬的是为了提供⼀种发布和接收 HTML ⻚⾯的⽅法。HTTP,端口号80,HTTP用于在WWW(万维⽹)上获取主页; 而HTTPS默认使用端⼝443。

HTTP报文:(考察一次)
HTTP请求报文主要由请求行、请求头部、请求正文3部分组成。
HTTP响应报文主要由状态行、响应头部、响应正文3部分组成。

4. HTTP请求有哪些?get和post的差别?(考察2次)

HTTP请求有哪些?(http请求中的8种请求方法)

  1. Get : 向特定资源发出请求,请求指定页面信息,并返回实体,这种方法是将信息存储在url中,既不安全,还无法传递太大的数据。一般的网络爬虫都会从get入手。
  2. Post : 向指定资源提交数据进行处理请求(提交表单、上传文件),有可能导致新的资源的建立或原有资源的修改。
  3. Put : 向指定资源位置上上传其最新内容。
  4. Delete: 请求服务器删除request-URL所标示的资源。
  5. Opions: 返回服务器针对特定资源所支持的HTML请求方法 或web服务器发送 * 测试服务器功能(允许客户端查看服务器性能)。
  6. Head : 与get请求类似,返回的响应中没有具体内容,用于获取报头)。
  7. Trace : 回显服务器收到的请求,用于测试和诊断。
  8. Connect: HTTP/1.1协议中能够将连接改为管道方式的代理服务。

http服务器至少能实现get、head、post方法,其他都是可选的。

get和post的区别?

  1. Get是从指定资源请求数据,而Post是向指定资源提交要被处理的数据。
  2. Get请求刷新无害,而post刷新,数据会被重复提交。
  3. Get请求的数据会附加到URL中,多个参数用&连接。因此get请求的数据会暴露在地址栏中,不安全。且浏览器和服务器对url的长度有限制,所以get传输数据的大小会受到url的限制。而POST请求则会把请求的数据放到body中。
  4. Get请求的资源会被浏览器缓存。而post比get慢,因为post在发送数据之前会先将请求头发送给服务器进行确认,然后才真正发送数据。而get请求直接发送请求头和数据。

5. 三次握手,四次挥手

1. 三次握手
刚开始客户端处于 Closed 的状态,服务端处于 Listen (监听)状态。进行三次握手:

第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN。此时客户端处于 SYN_SENT 状态。

第二次握手:服务端收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,并且也是指定了自己的初始化序列号 ISN。同时会把客户端的 ISN + 1 作为ACK 的值,表示自己已经收到了客户端的 SYN,此时服务端处于 SYN_RCVD 的状态。

第三次握手:客户端收到 SYN 报文之后,会发送一个 ACK 报文,当然,也是一样把服务端的 ISN + 1 作为 ACK 的值,表示已经收到了服务端的 SYN 报文,此时客户端处于 ESTABLISHED 状态。服务端收到 ACK 报文之后,也处于 ESTABLISHED 状态,此时,双方已建立起了连接。
在这里插入图片描述
三次握手的作用
1、确认双方的接收能力、发送能力是否正常。
2、指定自己的初始化序列号,为后面的可靠传送做准备。
3、如果是 https 协议的话,三次握手这个过程,还会进行数字证书的验证以及加密密钥的生成。

ISN是固定的吗?
三次握手的其中一个重要功能是客户端和服务端交换 ISN,以便让对方知道接下来接收数据的时候如何按序列号组装数据。如果 ISN 是固定的,攻击者很容易猜出后续的确认号,因此 ISN 是动态生成的。

什么是半连接队列?
服务器第一次收到客户端的 SYN 之后,就会处于 SYN_RCVD 状态,此时双方还没有完全建立其连接,服务端会把此种状态下请求连接放在一个队列里,我们把这种队列称之为半连接队列。当然还有一个全连接队列,就是已经完成三次握手,建立起连接的就会放在全连接队列中。如果队列满了就有可能会出现丢包现象。

三次握手过程中可以携带数据吗?
第三次握手的时候,是可以携带数据的。但是,第一次、第二次握手不可以携带数据
第一次握手不可以放数据,因为可能会让服务器更加容易受到攻击。而对于第三次的话,此时客户端已经处于 ESTABLISHED 状态。对于客户端来说,他已经建立起连接了,并且也已经知道服务器的接收、发送能力是正常的了,所以可以携带数据。

2. 四次挥手

刚开始双方都处于ESTABLISHED 状态,假如是客户端先发起关闭请求。四次挥手的过程如下:

第一次挥手:客户端发送一个 FIN 报文,报文中会指定一个序列号。此时客户端处于 FIN_WAIT1 状态。

第二次挥手:服务端收到 FIN 之后,会发送 ACK 报文,且把客户端的序列号值 +1 作为 ACK 报文的序列号值,表明已经收到客户端的报文了,此时服务端处于 CLOSE_WAIT 状态。

第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样,发给 FIN 报文,且指定一个序列号。此时服务端处于 LAST_ACK 的状态。

第四次挥手:客户端收到 FIN 之后,一样发送一个 ACK 报文作为应答,且把服务端的序列号值 +1 作为自己 ACK 报文的序列号值,此时客户端处于 TIME_WAIT 状态。需要过一阵子以确保服务端收到自己的 ACK 报文之后才会进入 CLOSED 状态,服务端收到 ACK 报文之后,就处于关闭连接了,处于 CLOSED 状态。
在这里插入图片描述
为什么TIME_WAIT状态需要经过2MSL才能返回到CLOSE状态?
TIME_WAIT状态也称为2MSL等待状态。
为什么客户端发送 ACK 之后不直接关闭,而是要等一阵子才关闭。这其中的原因就是,要确保服务器是否已经收到了我们的 ACK 报文,如果没有收到的话,服务器会重新发 FIN 报文给客户端,客户端再次收到 FIN 报文之后,就知道之前的 ACK 报文丢失了,然后再次发送 ACK 报文。
至于 TIME_WAIT 持续的时间至少是一个报文的来回时间。一般会设置一个计时,如果过了这个计时没有再次收到 FIN 报文,则代表对方成功就是 ACK 报文,此时处于 CLOSED 状态。

6. TCP,UDP 协议的区别(运输层协议)

在这里插入图片描述
UDP : 在传送数据之前不需要先建⽴连接,远地主机在收到 UDP 报⽂后,也不需要给出任何确认。虽然UDP 不提供可靠交付,但在某些情况下 UDP 确是⼀种最有效的⼯作⽅式(⼀般⽤于即时通信),⽐如: QQ 语⾳、 QQ 视频 、直播等等。

TCP: 提供可靠的、⾯向连接的传输服务。在传送数据之前必须先建⽴连接,数据传送结束后要释放连接。 TCP 不提供⼴播或多播服务。TCP ⼀般⽤于⽂件传输、发送和接收邮件、远程登录等场景。TCP的可靠体现在TCP在传递数据之前,会有三次握⼿来建⽴连接,⽽且在数据传递时,有确认、滑动窗⼝、重传、拥塞控制机制,在数据传完后,还会断开连接⽤来节约系统资源,这⼀难以避免增加了许多开销,不仅使协议数据单元的⾸部增⼤很多,还要占⽤许多资源。

7. TCP 协议如何保证可靠传输

  1. 应⽤数据被分割成 TCP 认为最适合发送的数据块。 TCP 给发送的每⼀个包进⾏编号,接收⽅对数据包进⾏排序,把有序数据传送给应⽤层。
  2. 校验和: TCP 将保持它⾸部和数据的检验和。这是⼀个端到端的检验和,⽬的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP 将丢弃这个报⽂段和不确认收到此报⽂段。
  3. TCP 的接收端会丢弃重复的数据。
  4. 流量控制: TCP 连接的每⼀⽅都有固定⼤⼩的缓冲空间,TCP的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收⽅来不及处理发送⽅的数据,能提示发送⽅降低发送的速率,防⽌包丢失。TCP 使⽤的流量控制协议是可变⼤⼩的滑动窗⼝协议。即:TCP 利⽤滑动窗⼝实现流量控制。
  5. 拥塞控制: 当⽹络拥塞时,减少数据的发送。
  6. ARQ协议: 也是为了实现可靠传输的,它的基本原理就是每发完⼀个分组就停⽌发送,等待对⽅确认。在收到确认后再发下⼀个分组。
  7. 超时重传: 当 TCP 发出⼀个段后,它启动⼀个定时器,等待⽬的端确认收到这个报⽂段。如果不能及时收到⼀个确认,将重发这个报⽂段。

8. ARQ协议

⾃动重传请求(ARQ)是OSI模型中数据链路层和传输层的错误纠正协议之⼀。它通过使⽤确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输。如果发送⽅在发送后⼀段时间之内没有收到确认帧,它通常会重新发送。ARQ包括停⽌等待ARQ协议和连续ARQ协议。

停⽌等待ARQ协议
停⽌等待协议是为了实现可靠传输的,它的基本原理就是每发完⼀个分组就停⽌发送,等待对⽅确认(回复ACK)。如果过了⼀段时间(超时时间后),还是没有收到 ACK 确认,说明没有发送成功,需要重新发送,直到收到确认后再发下⼀个分组。在停⽌等待协议中,若接收⽅收到重复分组,就丢弃该分组,但同时还要发送确认信息。
优点: 简单
缺点: 信道利⽤率低,等待时间⻓。

连续 ARQ 协议
为了提高信道利用率,产生了连续ARQ协议。发送方维持⼀个发送窗⼝,凡位于发送窗⼝内的分组可连续发送出去,⽽不需要等待对⽅确认。接收⽅⼀般采⽤累积确认,对按序到达的最后⼀个分组发送确认,表明到这个分组位置的所有分组都已经正确收到了。
优点: 信道利⽤率⾼,容易实现。
缺点: 不能向发送⽅反映出接收⽅已经正确收到的所有分组的信息。 ⽐如:发送⽅发送了 5条 消息,中间第三条丢失,这时接收⽅只能对前两个发送确认。此时,发送⽅就⽆法知道后三个分组的下落,⽽只好把后三个全部重传⼀次。这也叫 Go-Back-N(回退 N),表示需要退回来重传已经发送过的N 个消息。

9. 滑动窗⼝和流量控制

TCP 利⽤滑动窗⼝实现流量控制。流量控制是为了控制发送⽅发送速率,保证接收⽅来得及接收。 接收⽅发送的确认报⽂中的窗⼝字段可以⽤来控制发送⽅窗⼝⼤⼩,从⽽影响发送⽅的发送速率。将窗⼝字段设置为 0,则发送⽅不能发送数据。

10. 拥塞控制、慢开始 、拥塞避免 、快重传 和快恢复

拥塞控制:
在某段时间,若对⽹络中某⼀资源的需求超过了该资源所能提供的可⽤部分,⽹络的性能就要变坏。这种情况就叫拥塞。拥塞控制就是为了防⽌过多的数据注⼊到⽹络中,这样就可以使⽹络中的路由器或链路不致过载。为了进⾏拥塞控制,TCP 发送⽅要维持⼀个 拥塞窗⼝(cwnd) 的状态变量。拥塞控制窗⼝的⼤⼩取决于⽹络的拥塞程度,并且动态变化。发送⽅让⾃⼰的发送窗⼝取为拥塞窗⼝和接收⽅的接受窗⼝中较⼩的⼀个。
拥塞控制和流量控制的区别:
拥塞控制是⼀个全局性的过程,涉及到所有的主机,所有的路由器,以及与降低⽹络传输性能有关的所有因素。相反,流量控制往往是点对点通信量的控制,是个端到端的问题。流量控制所要做到的就是抑制发送端发送数据的速率,以便使接收端来得及接收。

TCP的拥塞控制采⽤了四种算法,即 慢开始 、 拥塞避免 、快重传 和 快恢复。在⽹络层也可以使路由器采⽤适当的分组丢弃策略(如主动队列管理 AQM),以减少⽹络拥塞的发⽣。

慢开始: 慢开始算法的思路是当主机开始发送数据时,如果⽴即把⼤量数据字节注⼊到⽹络,那么可能会引起⽹络阻塞,因为现在还不知道⽹络的符合情况。较好的⽅法是先探测⼀下,即由⼩到⼤逐渐增⼤发送窗⼝,也就是由⼩到⼤逐渐增⼤拥塞窗⼝数值。可以采取cwnd初始值为1,每经过⼀个传播轮次,cwnd加倍。

拥塞避免: 拥塞避免算法的思路是让拥塞窗⼝cwnd缓慢增⼤,即每经过⼀个往返时间RTT就把发送方的cwnd加1。

快重传与快恢复: 在 TCP/IP 中,快速重传和恢复(FRR)是⼀种拥塞控制算法,它能快速恢复丢失的数据包。没有 FRR,如果数据包丢失了,TCP 将会使⽤定时器来要求传输暂停。在暂停的这段时间内,没有新的或复制的数据包被发送。有了 FRR,如果接收机接收到⼀个不按顺序的数据段,它会⽴即给发送机发送⼀个重复确认。如果发送机接收到三个重复确认,它会假定确认件指出的数据段丢失了,并⽴即重传这些丢失的数据段。有了FRR,就不会因为重传时要求的暂停被耽误。  
当有单独的数据包丢失时,快速重传和恢复(FRR)能最有效地⼯作。当有多个数据信息包在某⼀段很短的时间内丢失时,它则不能很有效地⼯作。

11. 输⼊url地址到显示主⻚的过程,其中用到的协议

总体来说分为以下⼏个过程:

  1. DNS解析
  2. 建立TCP连接
  3. 浏览器向Web服务器发送HTTP请求
  4. 服务器处理请求并返回HTTP报⽂
  5. 浏览器解析渲染⻚⾯
  6. 连接结束
    在这里插入图片描述

12. 状态码

在这里插入图片描述
常见的HTTP状态码:
200 - 请求成功。
301 - 资源(网页等)被永久转移到其它URL。
404 - 请求的资源(网页等)不存在。
500 - 内部服务器错误。

13. HTTP⻓连接,短连接

HTTP协议的⻓连接和短连接,实质上是TCP协议的⻓连接和短连接。

在HTTP/1.0中默认使⽤短连接。也就是说,客户端和服务器每进⾏⼀次HTTP操作,就建⽴⼀次连接,任务结束就中断连接。当客户端浏览器访问的某个HTML或其他类型的Web⻚中包含有其他的Web资源(如JavaScript⽂件、图像⽂件、CSS⽂件等),每遇到这样⼀个Web资源,浏览器就会重新建⽴⼀个HTTP会话。

⽽从HTTP/1.1起,默认使⽤⻓连接,⽤以保持连接特性。使⽤⻓连接的HTTP协议,会在响应头加⼊这⾏代码:

Connection:keep-alive

在使⽤⻓连接的情况下,当⼀个⽹⻚打开完成后,客户端和服务器之间⽤于传输HTTP数据的TCP连接不会关闭,客户端再次访问这个服务器时,会继续使⽤这⼀条已经建⽴的连接。但是Keep-Alive不会永久保持连接,它有⼀个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。实现⻓连接需要客户端和服务端都⽀持⻓连接。 HTTP/1.1的长连接有⾮流⽔线⽅式和流⽔线⽅式 。流⽔线⽅式是客户在收到HTTP的响应报⽂之前就能接着发送新的请求报⽂。与之相对应的⾮流⽔线⽅式是客户在收到前⼀个响应后才能发送下⼀个请求。

14. HTTP是不保存状态的协议,如何保存⽤户状态?

HTTP 是⼀种不保存状态,即⽆状态协议。也就是说 HTTP 协议⾃身不对请求和响应之间的通信状态进⾏保存。

通过引入Session 机制来解决⽤户状态问题,Session 的主要作⽤就是通过服务端记录⽤户的状态。典型的场景是购物⻋,当你要添加商品到购物⻋的时候,系统不知道是哪个⽤户操作的,因为 HTTP 协议是⽆状态的。服务端给特定的⽤户创建特定的Session 之后就可以标识这个⽤户并且跟踪这个⽤户了(⼀般情况下,服务器会在⼀定时间内保存这个Session,过了时间限制,就会销毁这个Session)。在服务端保存 Session 的⽅法很多,最常⽤的就是内存和数据库。

既然 Session 存放在服务器端,那么如何实现 Session 跟踪呢?
⼤部分情况下,都是通过在Cookie 中附加⼀个 Session ID 来⽅式来跟踪。
Cookie 被禁⽤怎么办?
最常⽤的就是利⽤ URL 重写把 Session ID 直接附加在URL路径的后⾯。

15. Cookie的作⽤是什么?和Session有什么区别?

Cookie 和 Session都是⽤来跟踪浏览器⽤户身份的会话⽅式,但是两者的应⽤场景不太⼀样。

  1. Cookie ⼀般⽤来保存⽤户信息。
    比如:①我们在 Cookie 中保存已经登录过得⽤户信息,下次访问⽹站的时候⻚⾯可以⾃动帮你登录的⼀些基本信息给填了;②⼀般的⽹站都会有保持登录也就是说下次你再访问⽹站的时候就不需要重新登录了。(这是因为⽤户登录的时候我们可以存放了⼀个 Token 在 Cookie中,下次登录的时候只需要根据 Token 值来查找⽤户即可,为了安全考虑,重新登录⼀般要将 Token重写;)③登录⼀次⽹站后访问⽹站其他⻚⾯不需要重新登录。
    而Session 的主要作⽤就是通过服务端记录⽤户的状态。
    典型的场景是购物⻋,当你要添加商品到购物⻋的时候,系统不知道是哪个⽤户操作的,因为 HTTP 协议是⽆状态的。服务端给特定的⽤户创建特定的 Session 之后就可以标识这个⽤户并且跟踪这个⽤户了。
  2. Cookie 数据保存在客户端(浏览器端),Session 数据保存在服务器端。相对来说 Session 安全性更⾼。如果要在Cookie 中存储⼀些敏感信息,不要直接写⼊ Cookie 中,最好能将 Cookie 信息加密然后使⽤到的时候再去解密。

16. HTTP 1.0和HTTP 1.1的主要区别是什么?

主要区别主要体现在:

  1. ⻓短连接 : 在HTTP/1.0中,默认使⽤的是短连接,也就是说每次请求都要重新建⽴⼀次连接。HTTP 是基于TCP协议的,每⼀次建⽴或者断开连接都需要三次握⼿四次挥⼿的开销,如果每次请求都要这样的话,开销会⽐较⼤。因此最好能维持⼀个⻓连接,可以⽤个⻓连接来发多个请求。HTTP 1.1起,默认使⽤⻓连接 ,默认开启Connection: keep-alive。
  2. 错误状态响应码 : 在HTTP1.1中新增了24个错误状态响应码,如409(Conflict)表示请求的资源与资源的当前状态发⽣冲突;410(Gone)表示服务器上的某个资源被永久性的删除。
  3. 缓存处理 : 在HTTP1.0中主要使⽤header⾥的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引⼊了更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match,If-None-Match等更多可供选择的缓存头来控制缓存策略。
  4. 带宽优化及⽹络连接的使⽤ : HTTP1.0中,存在⼀些浪费带宽的现象,例如客户端只是需要某个对象的⼀部分,⽽服务器却将整个对象送过来了,并且不⽀持断点续传功能,HTTP1.1则在请求头引⼊了range头域,它允许只请求资源的某个部分,即返回码是206(Partial Content),这样就⽅便了开发者⾃由的选择以便于充分利⽤带宽和连接。

17. URI和URL的区别

URI(Uniform Resource Identifier) 是统⼀资源标志符,可以唯⼀标识⼀个资源。
URL(Uniform Resource Location) 是统⼀资源定位符,可以提供该资源的路径。它是⼀种具体的 URI,即 URL 可以⽤来标识⼀个资源,⽽且还指明了如何 locate 这个资源。

URI的作⽤像身份证号⼀样,URL的作⽤更像家庭住址⼀样。URL是⼀种具体的URI,它不仅唯⼀标识资源,⽽且还提供了定位该资源的信息。

18. HTTP 和 HTTPS 的区别

  1. 端⼝ :HTTP的URL由“http://”起始且默认使⽤端⼝80,⽽HTTPS的URL由“https://”起始且默认使⽤端⼝443。
  2. 安全性和资源消耗: HTTP协议运⾏在TCP之上,所有传输的内容都是明⽂,客户端和服务器端都⽆法验证对⽅的身份。HTTPS是运⾏在SSL/TLS之上的HTTP协议,SSL/TLS 运⾏在TCP之上。所有传输的内容都经过加密,加密采⽤对称加密,但对称加密的密钥⽤服务器⽅的证书进⾏了⾮对称加密。所以说,HTTP 安全性没有 HTTPS⾼,但是 HTTPS ⽐HTTP耗费更多服务器资源。

19.对称加密与非对称加密的区别

对称加密: 密钥只有⼀个,加密解密为同⼀个密码,且加解密速度快,典型的对称加密算法有DES、AES等;
⾮对称加密: 密钥成对出现(且根据公钥⽆法推知私钥,根据私钥也⽆法推知公钥),加密解密使⽤不同密钥(公钥加密需要私钥解密,私钥加密需要公钥解密),相对对称加密速度较慢,典型的⾮对称加密算法有RSA、DSA等。

20. ping

PING (Packet Internet Groper),因特网包探索器,用于测试网络连通性的程序。
  Ping发送一个ICMP(Internet Control Messages Protocol,因特网信报控制协议);回声请求消息给目的地并报告是否收到所希望的ICMPecho (ICMP回声应答)。
  工作原理:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。

21. MAC地址和IP地址

MAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置。

IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值