计算机网络面试《葵花宝典》

      最后更新:2022-06-28 12:24:04 手机定位技术交流文章

      目录

      一、物理层

      1.1.简要描述原则结构的每个层的常规协议

      二、数据链路层

      2.1什么是门户和主机如何与网络通信(ARP协议的工作原理)?

      2.2总 MAC地址

      三、网络层

      3.1简短IP地址

      3.2IPv4分类地址的简要说明

      四、运输层

      4.1静态和动态路线

      4.2 通用路由协议

      4.3三个TCP手和四个波

      4.4为什么TCP不能使用两个握手?

      4.5 TCP当你握手三次时,如果不收到对方的信息,会发生什么事?

      4.6在手写时,TCP三份报告是否能载有数据?

      半联队列是什么?

      4.8TCP主机的条件

      4.在挥动四份报告后,为什么需要等2msL?

      4.10关于TCP和UDP的差异情况简介

      4.11TCP和UDP格式的定义

      4.12关于TCP延迟响应和累积响应的简报

      4.13TCP超时再传输的概要

      4.14TCP的交通堵塞控制算法是什么?

      4.15关于TCP交通管制的简报

      4.16TCP如何保证订单?

      4.17TCP如何确保可靠的传输?

      4.18 例 TCP / UDP 各自的应用程序场景?

      4.19简单解释TCP粘贴和拆卸

      4.20 TCP粘贴在细节上如何产生?

      4.如何解决粘贴和拆卸的问题?

      4.22解释TCP/HTTP的保持生命机制或心脏跳动机制?

      4.23如何提高UDP的可靠性?

      4.24如何改进TCP的高速传输大文件?

      4.端到端、点到点通信的区别?

      4.26SYN的洪水攻击是什么?如何防卫?

      五、应用层

      5.域名分析的过程

      5.浏览器从输入URL到显示页面的过程

      5.HTTP的方法是什么(请求)

      5.GET请求和 POST请求之间的区别

      5.5关于HTTP中提交人的作用简介

      5.6HTTP与HTTS之间的差异简介

      5.HTTPS如何运作

      5.什么是数字签名?什么是数字证书

      5.9关于HTTP1.0/1.1/2的简要说明0的主要区别

      5.10一般HTTP响应状态代码的简要描述及其影响

      5.11HTTP转导是什么?它的目的是什么?

      5.12什么是“cookies”和“sessions”?两者之间的区别是什么?

      5.13域名黑客是什么?

      5.14什么是CSF攻击?如何防卫?

      5.15SQL注射器攻击是什么?如何防御?

      5.16什么是XSS攻击?如何防卫?

      一、物理层

      1.1.简要描述原则结构的每个层的常规协议

      二、数据链路层

      2.1什么是门户和主机如何与网络通信(ARP协议的工作原理)?

      网络开关:在网络中用于不同网络之间的互连、翻译和转换的开关。

      网络主机:网络主机是同一路径下的主机。 同一网络段的主机通信不通过路由器(通常通过开关)

      ARP地址分析协议:使用已知IP地址时查询MAC地址

      A peer-to-peer communication(ARP协议工作原理):发送 peer-to-peer搜索自己的ARP表,如果接收机有MAC地址,则直接建立通信。反之,发送人应为此目的包括主机的IP地址,广播ARP请求以获取目标主机MAC地址.目的接收ARP请求后,主机会对该请求作出回应。发送方接受应答后,在您自己的ARP表中将IP地址映射到MAC地址。

      2.2总 MAC地址

      MAC(Media Access Control),硬件地址/物理地址,用于媒体访问控制。它写在EEPROM中,全球唯一。ARP协议和MAC地址可以用于同一个网络段的设备之间通信。MAC地址为6字节,有三个单播/多播/广播频道。

      三、网络层

      3.1简短IP地址

      IP地址是互联网上每个主机(或路由器)的每个接口所分配的独特4字节标识符。它标识了信息的两个部分:

      • 网络号码:用数百万的互联网号码识别网络
      • 主机代码:在同一网络上识别不同的主机(或路由器)

      这是一个哲学问题,即哪些字段代表网络,哪些字段是主机,这解释了IPv4地址的演化:分类地址,分子网络,非分类地址

      3.2IPv4分类地址的简要说明

      根据32位IP地址的前段值,IP地址可以分为五个类别:A、B、C、D和E:

      • A类:从0(0~127)开始,网络编号1字节,主机编号3字节;
      • B类:从10(128~191)开始,网络号2字节,主机号2字节;
      • 类C:110开端(192~223),网络编号3字节,主机编号1字节;
      • D类:多播地址从110开始;
      • E类:从11开始,用于广播地址;

      此外, 还有 几 项 其他 声明 :

      • 只有A、B和C地址可以分配给主机或路由器的接口;
      • 与主机号码“总数0”的地址是网络地址,不能分配给主机或路由器的接口;
      • 所有1号主机地址是广播地址,不能分配给主机或路由器的接口;
      • 类A地址、网络号码0(保留地址)和127(本地循环测试地址)不分配;

      四、运输层

      4.1静态和动态路线

      静态路由:由系统管理员设计和构造,适用于少数开关和不经常变化的网络拓扑结构的网络,其优点是不占用网络资源,其缺点是不动态应用网络条件的变化。
      动态路由(英语:Dynamic routing):是一种动态构造的协议,通过在协议之间交换自己的路由信息,在实时更新路由表的内容。 动态路由可以自动学习网络拓扑和更新路由表。

      4.2 通用路由协议

      RIP距离向量协议:使用一个实例向量算法,“路线上的路由器数目”是选择线路的唯一考虑因素。 RIP被广泛使用,它是简单、可靠和容易配置的。

      OSPF将最短的路径以优先次序打开:使用SPF算法,计算链路的各个特性以寻找最佳链路。 OSPF将一个自治域重新划分为区域(即有区域内和区域间路径选择),OSPF不会限制网络的大小,在更新方面非常高效,并且快速地汇聚。

      BGP和BGP4路由协议:外部门户协议,其主要功能是与BGP的其他自主域交换网络可访问信息。

      4.3三个TCP手和四个波

      (1)三次握手

      • 第一次握手: 1 个客户端发送 TCP 连接请求消息(SYN=1, seq=x); 2 个客户端输入:同步发送;
      • 第二次握手:1服务器发送TCP连接请求的确认(SYN=1,ACK=1,seq=y,ack=x+1);2服务器输入:同步接收;
      • 第三次握手: 1 个客户端发送 TCP 连接请求的确认 (ACK=1, seq=x+1, ack=y+1); 2 个客户端,服务器访问: 连接建立;

      英文解释:

      SYN - 同步, ACK - 确认, seq - 序列, ack - 确认

      • 任意端的序列最初是随机选择的,然后它每次使用它都使用一个序列,而序列是+1
      • ack等于机器接收的最后一个分数+1

      (2)四次挥手

      • 第一个波:1客户端发送TCP连接释放消息字段(FIN=1,ACK=1,seq=u,ack=v);2客户端输入:终止等待1
      • 第二波:服务器发送TCP通用确认声明(ACK=1,seq=v,ack=u+1);2服务器输入:关闭等待;3客户端输入:终止等待2;4服务器通知应用程序进程,准备断开连接,您还要发送哪些其他数据?⑤这时,TCP连接处于半封闭状态,服务器仍然可以向客户端发送数据;
      • 第三波:1服务器发送TCP连接释放消息(FIN=1,ACK=1,seq=w,ack=u+1);2服务器输入:最后确认;3服务器应用程序过程通知其TCP:发送完成,被动关闭;
      • 第四波: 1 客户端发送TCP一般确认消息(ACK=1, seq=u+1, ack=w+1); 2 客户端输入:等待时间,然后输入关闭; 3 服务器输入:关闭;

      4.4为什么TCP不能使用两个握手?

      • 为了防止不有效的连接请求消息段落突然被发送到TCP服务器,导致错误;
      • 如果只有两只手握着,接收机的序列号码无法确认

      4.5 TCP当你握手三次时,如果不收到对方的信息,会发生什么事?

      • 第一次丢失时,服务器不接收连接请求并不发送确认;客户端主机不接收确认,然后加班重新发送;
      • 第二个损失, 客户端主机没有得到确认, 因此加班重新传输;
      • 在第三个损失时,服务器没有收到确认,因此超时再传输。 如果重复传输没有得到响应,关闭此连接。

      4.6在手写时,TCP三份报告是否能载有数据?

      第一个和第二个握手(SYN+ACK)不允许传输数据,但当第三个握手(ACK)发生时,客户端主机实际上处于“连接”状态,因此它可以传输数据。

      半联队列是什么?

      在三个报告的握手后,服务器在收到第一个SYN后进入SYN_RCVD状态,它没有完全建立并成为一个半连接的队列。

      4.8TCP主机的条件

      4.在挥动四份报告后,为什么需要等2msL?

      MSL(最大段寿命)最大报告段寿命,它是网络上任何消息的最长存在。2MSL相应的状态是 TIME_WAIT,在四报文挥手后,客户端主机需要等待2MSL再次关闭的原因如下:

      • 确保客户端主机发送的最后的ACK消息能够到达服务端。如果客户发送的最后的ACK丢失,服务器的TCP连接不能正常关闭,这导致Fin+ACK服务器的超时继电器;客户端等待2MSL,这种转播是可接受的,因此重新发送最后的ACK。
      • 在客户端发送最后的ACK消息段后,并通过2MSL后,在连接期间生成的所有消息段从网络中消失。

      4.10关于TCP和UDP的差异情况简介

      TCP是一个面向连接的、面向数据流的可靠传输,UDP是一个非连接的、面向应用程序的、不可靠的传输;UDP支持单播/多播/广播,TCP只支持单播;TCP传输保证秩序、慢速,UDP不保证秩序、快速。

      连接指向和不连接

      • TCP是面向连接的,必须使用“三个消息手”(Three Message Hands)和“四个消息手”(Four Message Hands)来控制连接并通过交通控制、拥堵控制和加班重复确保可靠的传输。
      • UDP不连接,只提供不可靠的传输。

      面向字符和面向应用的报告

      • TCP将应用程序层消息处理为字节流,并通过编码和添加第一个分段后发送它们
      • UDP将UDP标题直接添加到应用程序层消息中,并将其发送出去

      4.11TCP和UDP格式的定义

      (1)TCP头条,20字节

      (2)UDP字节,8字节

      4.12关于TCP延迟响应和累积响应的简报

      • 延迟响应: TCP不会在收到消息后立即发送垃圾邮件,而是等待一段时间,然后再发送,以便发送垃圾邮件和数据。
      • 累积响应:接收器发送最后取得的数据的确认。 如果达到1.2,3.5,发送 ack4,表明前4的数据已经收到,现在希望在4之后得到数据。

      4.13TCP超时再传输的概要

      • TCP协议要求一个计时器被激活,并在每个发送端等待一个确认消息;
      • 接收者成功接收新数据并返回确认信息;
      • 如果无法在计时器过时之前确认数据,TCP认为该消息段的数据已经丢失或损坏,需要重新传输该消息段。

      4.14TCP的交通堵塞控制算法是什么?

      TCP发送器保持发送窗口cwnd和慢启动门 ssthresh;

      • 慢开始:cwnd < ssthresh 时,使用慢开始算法;发送窗口初始值置为1,每成功完成一次传输,则将发送窗口乘以2;
      • 拥塞避免:当 cwnd > ssthresh 时,用一个成功的一次传输来替换交通堵塞避免算法,然后将添加发送窗口;一旦有超时再传输,此时请将 ssthresh 改为窗口的1/ 2,设置cwnd为1,重启发送;
      • 快速重发:一旦发件人收到三次连续重复的确认,即会立即重发该消息的相应段落,以避免加班重发;
      • 快速恢复:一旦发送者收到三个连续的重复确认,调整 ssthresh 和 cwnd 到当前窗口的一半,并启动交通堵塞避免算法;

      4.15关于TCP交通管制的简报

      在TCP通信中,接收器通过在发送累积确认时调整接收/发送窗口来控制发送器的流量。 流量控制使TCP通信能够根据当前的网络状况和缓存状况调整,从而确保可靠的传输。

      4.16TCP如何保证订单?

      基于滑窗机理,TCP进行超时再传输,实现可靠的传输。

      • 为了确保信件的可靠传输,发送者必须将发送的信件保存在缓冲区;
      • 如果另一方发送的响应消息在计时器过时之前收到,则被包占用的缓冲区被释放;
      • 否则,重新传输包;
      • 接收数据后,接收器进行CRC校正,如果正确,数据将转移到顶层协议,并向发送者发送累积响应数据包

      4.17TCP如何确保可靠的传输?

      基于 sliding window机制,TCP通过检查和确认响应、超时再传输、最大消息长度等,确保可靠的传输。

      • Sliding Window Mechanism (GBN: Return N Frame Protocol):1 发送者:一次发送窗口的所有数据; 2 接收者:ACKn的累积确认(在n顺序接收数据的最后序列数目的确认); 3 发送者:是否根据ACK重新发送一些数据; 4 数据按顺序接收后,窗口向后滑动,发送新数据。
      • 测试和:在计算测试时,TCP将添加12字节的伪头到TCP头上。 如果在数据中发现错误,则需要重新传输。
      • ACK:接收器确认接收的数据。确认响应的方法是即时确认和发送确认。
      • 超时重传:①发送端为每一个报文段开启一个定时器;②接收者成功接收新数据并返回确认信息;③若超时未确认,则需要对该报文段进行重传。
      • 最大消息长度(MSS):在建立TCP连接时,双方同意发送的单元的最大长度,有效地降低错误率。

      4.18 例 TCP / UDP 各自的应用程序场景?

      (1)TCP

      • FTP:文件传输协议,终端21
      • 电话网:远程登录协议,23号终端
      • SMTP:电子邮件发送协议,端口25
      • POP3:电子邮件接受协议,端口110
      • HTTP:超文本传输协议
      • 常用于金融领域。

      (2)UDP

      • DHCP:动态主机配置协议以动态分配IP信息给本地网络主机
      • DNS:域名分析服务,53终端
      • SNMP:简单的网络管理协议,161端口,用于管理网络设备
      • TFTP:简单的文件传输协议,69端口
      • 它通常用于电子游戏和电子游戏。

      4.19简单解释TCP粘贴和拆卸

      根据缓冲区的实际情况,TCP将应用程序层数据包分解(称为位流)并添加第一部分,并将几个较小的数据包封装成一个更大的数据包。

      而且,UDP没有包装和卸包装的问题,因为UDP是面向应用程序的(而不是面向位流的)。 UDP收到了正确的包,但有包装丢失和序列问题

      4.20 TCP粘贴在细节上如何产生?

      (一)发送者生成一个包

      • 当应用程序层发送包太长时间时,TCP协议默认允许纳格尔算法将这些较小的包合并发送;这种合并过程在发送(压缩)缓冲区进行,即数据被发送出去,并且已经处于粘性状态

      (二)接收器生成粘贴的信封

      • 接收方网络层交付帧给传输层,传输层将其放置接收缓冲区,然后由应用层来主动获取;如果放数据的速度 > 应用层拿数据速度,接收方就会产生粘包

      4.如何解决粘贴和拆卸的问题?

      • 特殊字符控制;

      • 将数据包的长度添加到标题资本中。

      4.22解释TCP/HTTP的保持生命机制或心脏跳动机制?

      (1)TCP keep-alive

      • TCP服务器进程每次接收TCP客户端进程的数据,并重新设置保持活化;
      • 如果在主动计时器的预定期间没有收到TCP客户端进程的数据,然后,TCP服务器进程向TCP客户端进程发送检测信息,之后,它每隔几天发一次。如果在连续发送10个检测消息后,仍未收到TCP客户端进程的响应,TCP服务器进程认为TCP客户端进程的主机不正常,然后关闭连接。

      (2)HTTP keep-alive

      • HTTP通常有一个 httpd 的emon进程,它可以设置为保持活化时限。 当 tcp 链接超过这个时限时,它关闭。

      (三)应用层心跳

      • 心脏拍层维护机制用于测试连接是否被中断。 间隔是短的,可以快速确定连接是否被中断

      4.23如何提高UDP的可靠性?

      最简单的方法是使用层复制层TCP的可靠性传输.

      • 将seq/ack机制添加到应用程序层中;
      • 将发送和接收缓冲区添加到应用程序层;
      • 为应用程序层添加了超时再传输机制.

      4.24如何改进TCP的高速传输大文件?

      • 连接优化:当TCP建立连接时,如果数据包丢失,它进入再测试,再测试时间为1s,2s,4s,8s指数增长的间隔,缩短时间表可以使TCP在数据包环境中建立连接时间更快,非常适合高和缩短的连接业务场景;
      • 平整的头发包装:平整的头发包装,避免短时间内突然流入,尽量避免瞬时拥挤;
      • 损失估计:一些网络失去正常性,如果程序能够自动检测这种正常性,它可以提前目标多个数据传输,减少再传输时间,提高有效传输率;
      • 带宽评估:在一个单位时间内接收的ACK或SACK信息可以用于确定客户端的有效接收率,这可以用于更合理地控制数据包的速度。
      • 宽带冲突:一些场景是人们挤出彼此的宽带

      4.端到端、点到点通信的区别?

      端到端通信:

      • 端到端的通信是针对传输层,即从传送器到接收器;
      • 是一种网络连接,指的是发送者与接收者之间建立的连接。
      • 端到端通信是基于点到点通信的,由点到点通信通道的组成部分,是比点到点通信高层次的通信方法,完成应用过程之间的通信;
      • 端到端的优点:链路建立后,不需要通过中间开关设备转移存储,因此传输延迟很小;
      • 在接收器接收数据之前,发送器的设备参与传输。 如果整个传输延迟太久,会对发送器的设备造成巨大的浪费; 2 如果接收器的设备关闭或失败,则无法实现终极传输。

      点到点通信:

      • 点到点通信是数据链层或网络层,即节点到节点;
      • 指点接点是基于MAC地址或IP地址的,这意味着一个设备将数据发送到其他直接连接的设备,以便它被连续传输到接收机。
      • 点对点通信不能保证数据传输的可靠性;
      • 由物理层、数据链层和网络层组成的通信子网为网络环境中的主机提供点到点服务;
      • 点对点传输的优点:一旦发送器发送数据,其任务就完成,不需要参与整个传输过程,以免浪费发送器的资源;2点对点传输的缺点,即使接收器关闭或失败,也可以使用存储传输技术缓冲:
      • 点对点的缺点:发送者发送数据后,接收者不知道数据是否或什么时候可以接收;

      4.26SYN的洪水攻击是什么?如何防卫?

      SYN Flood是DDoS和DDoS的最流行的方法之一。通过发送大量伪造的TCP连接请求,消耗攻击者资源的攻击。为了SYN的洪水,有三种应对方式:

      • 从互联网服务提供商(ISP)购买服务。 许多互联网服务提供商(ISP)提供DDoS缓解服务,当企业网络受到攻击时,企业需要向互联网服务提供商(ISP)报告事件,以便开始缓解。
      • 企业可以使用入侵防御系统/防火墙和专门设计的硬件来保护DDoS攻击,实现内部预防和应对DDoS攻击。
      • 使用内容分配网络(CDN) 设置内容分配网络(CDN)背后的基础设施。

      五、应用层

      5.域名分析的过程

      • 先检查本地主机文件
      • 寻找本地DNS服务器缓存
      • 本地DNS服务器启动查询
        • 传输模式:本地DNS服务器将请求转移到上层DNS服务器,如果上层服务器无法分析,则需要由上层服务器分析,或者找到根DNS或将请求转移到上层服务器。
        • 直接模式:本地DNS向13个根 DNS服务器发送请求,在收到请求后,他们将决定谁有权管理域名,并返回负责高级域名服务器的IP。本地DNS服务器将与相应的DNS服务器联系到IP,DNS服务器再次向下层查询。
      • 客户端到本地 DNS 服务器 - 递归查询; DNS 服务器之间 - 迭代查询

      5.浏览器从输入URL到显示页面的过程

      • 输入URL地址
      • 浏览器通过DNS域名分析服务搜索域名的IP地址
      • 浏览器向网页服务器发送HTTP请求
      • 服务器的永久重调响应
      • 服务器处理请求并返回HTTP响应
      • 浏览器显示HTML
      • 浏览器发送请求获取嵌入HTML的资源(如图像、音频、视频、CSS、JS等)。

      5.HTTP的方法是什么(请求)

      • GET:请求访问已标识URL的资源;
      • POST:向服务器发送信息。 主要功能与GET方法相似,但一般建议使用 POST方法;
      • PUT:传输文件。包含报告主体的文件内容,保存到相应的URI位置;
      • 头条:获取头条。 通常用于验证URI是否有效。
      • 删除:删除文件。与PUT方法相反,文件在相应的URI位置被删除。
      • 选项:由相应的URI支持的HTTP查询方法。

      5.GET请求和 POST请求之间的区别

      • GET请求在URL中传输的参数是有限的长度,而 POST是有限的;
      • GET比 POST更不安全,因为参数直接暴露于URL,不能用于传输敏感信息;
      • GET参数通过URL传递, POST在请求体中放置;
      • GET请求参数将完全存储在浏览器历史记录中,而 POST参数将不存储;
      • GET请求只能由url编码, POST则支持多个编码方法;
      • GET请求将被浏览器主动缓存,而 POST则不会,除非手动设置;
      • GET生成的URL地址可以标记,但不能 POST;
      • 当浏览器返回时,GET是无害的, POST将再次提交请求。

      5.5关于HTTP中提交人的作用简介

      (一)HTTP参考器是标题的一部分

      • 当浏览器发送请求给一个网页服务器时,它通常会带来一个向导,它告诉服务器该网页是链接到哪页,允许服务器获得一些信息处理。
      • 如果在ww.google.com上有一个ww.Baidu.com链接,然后点击这个ww.Baidu,它的头条信息包含: 参考 = http://ww.google.com

      (2)防盗链

      • 仅允许我自己的网站访问我自己的图片服务器。 在向服务器发送http请求后,服务器会拦截(或跳到他请求的地址,然后再访问它)如果请求必须来自一个特定的地址

      (3)防止恶意请求

      • 例如,静态请求是*。 在htm1的末尾,动态请求是*。

      (四) Empty Referer

      • 定义:没有引用头或引用头的HTTP请求内容是空的;
      • 指示请求不是由链接联系人发送的,例如,如果您直接在浏览器的地址栏中输入资源的URL地址,那么请求并不包含引言字段;
      • 因此,在防盗链上,设置不允许空的引用符,URL不允许直接访问,必须通过自己的网站的链接

      (5)防御CSRF

      • 如果索引中的地址是安全的和可靠的地址,它不能比HTTP请求的源地址发布

      5.6HTTP与HTTS之间的差异简介

      HTTP:为客户端和服务器端请求和响应的标准(传输协议),用于从 WW 服务器传输超文本到本地浏览器,可以使浏览器更高效,减少网络传输。
      HTTPS:HTTP的安全性版本。HTTPS的安全性基础是SSL(Secure Sockets Layer)。它的主要作用可以分为两部分:建立一个信息安全渠道,确保数据传输的安全;确认网站的真实性

      5.HTTPS如何运作

      • 客户端向服务器发送自己的支持的加密规则,该规则告诉服务器连接;
      • 服务器向客户端发送证书,证书包含服务器信息、加密的公共密钥、证书的方法;
      • 客户收到网站证书后,应做以下操作:
        • 验证证书的合法性;
        • 如果通过证书验证,客户端生成一系列随机数字并加密证书中的公共密钥;
        • 用传统的 Hash 算法计算握手消息,然后用生成的键加密,并一起发送到服务器。
      • 服务器接收到发送给客户端的信息,并执行下列操作:
        • 用私钥分析密码,用密码分析握手消息,并验证 Hash 值与浏览器输出匹配;
        • 使用密钥加密消息;
      • 如果计算的哈希值匹配, 振动成功.

      5.什么是数字签名?什么是数字证书

      (1)数字签名

      • 为了避免数据在传输过程中被操纵,发送者:在加密中加密数据的摘要消息,得到一个签名,和数据一起发送。2接收者:用相同的加密加密接收数据摘要,如果两次签名一致,这表明数据没有改变。

      (2)数字证书

      • 虽然 使用 数字 签名 确保 数据 不会 发生 改变,但是如果公共钥匙同时被更改,数据仍可伪造。为了确保发件人公开密码的正确性,核证机关负责签发核证,里面的所有公共钥匙都记录下来,保证为真。客户端只验证服务器提供的证书是正确的,下一个我们做。

      5.9关于HTTP1.0/1.1/2的简要说明0的主要区别

      (1)HTTP 1.0

      • 默认不支持长连接,您需要设置保持活化参数
      • 强缓存已过期,咨询缓存最后修改if-modified-since有某些缺陷

      (2)HTTP 1.1

      • 默认的长连接(保持活), http请求可以复制TCP连接,但只能同时响应一个http请求(字符串)
      • 此外,强大的缓存控制、谈判缓存的staglif-none-match是HTTP1.0缓存优化

      (3)HTTP 2.0

      • 多路径复制,在Tcp中多个http请求是平行的
      • 二进制格式编码传输
      • 使用HPACK算法压缩标题
      • 服务端推送

      5.10一般HTTP响应状态代码的简要描述及其影响

      1XX:信息类状态代码(代表接收请求状态处理)

      2XX:成功状态代码(指示请求处理正确)
      3XX:重新分配(表示需要执行额外操作,完成请求)

      4XX:客户端错误(显示服务器无法处理请求)
      5XX:服务器错误状态代码(当服务器处理请求时显示错误)

      • 200:从状态代码发送的请求通常由服务器处理
      • 204:服务器接收的请求已经成功处理,但返回的响应消息包含没有实体的实质部分(即没有内容)
      • 206:部分内容(例如,客户端提出了范围请求,但服务器成功执行该部分的直接请求
      • 301:跳跃,代表永久的转向(请求资源分配了一个新的URI,然后使用资源,现在设置URI)
      • 302:临时转址(请求资源分配了新的URI,用户希望这次能够访问新的URL)
      • 303:另一个URI存在,因为它的资源与请求相符(通过获取方法向请求的资源发送)
      • 304:当客户端发送附带条件的请求时,服务器允许请求访问资源,但请求未能满足条件后直接返回请求
      • 307: 临时 调整 情况 [ 本 状态 代码 同 302 号 相同 意义 ]
      • 400:请求消息中存在语法错误(如果错误方法要求修改请求内容,请再次发送请求)
      • 401:发送的请求需要通过HTTP认证的认证信息
      • 403:服务器拒绝访问请求资源
      • 404:服务器上未找到请求资源
      • 500:执行请求时服务器端出现错误
      • 503:服务器暂时过载或处于暂停维护状态,无法处理请求

      5.11HTTP转导是什么?它的目的是什么?

      301永久迁移,指页面永久性转移,指示资源或页面已经永久移到另一个位置。当用户向服务器发送浏览请求时,服务器返回的HTTP数据流头条包含状态代码301,表示资源已永久地改变其位置。

      301的重新定位有什么用处?

      • 在网站开发过程中,经常遇到网站目录结构调整,将页面转移到一个新的地址;
      • 网页扩展名的变化可能导致网页地址的更改,用户文件夹和搜索引擎数据库中的旧地址是错误的,访问时出现404页,导致网站流量的损失。
      • 或者我们需要多个域跳到相同的域,例如,主站的域名是ww.conimi.com,还有一个域名:ww.nico.cc,由于 301 个 重新 指向 被 设置 为 域名,当您进入ww.nico.cc时,自动跳到ww.conimi.com.

      5.12什么是“cookies”和“sessions”?两者之间的区别是什么?

      • Cookies 和 Session 是通信的两种方式,服务器通过创建一个 cookie 或 session 来跟踪用户的数据或状态;
      • Cookie数据存储在客户端浏览器上,សម័យ数据存储在服务器上;
      • Cookie不安全,易受CSF攻击,考虑到安全性应使用 Session;
      • 会议将占用服务器的性能,考虑到需要使用Cookie来减轻服务器的压力;
      • 单个Cookie存储的数据不能超过4K,许多浏览器限制每个网站存储20个Cookie。

      5.13域名黑客是什么?

      DNS hacking(英语:DNS hacking)是入侵DNS服务器以修改域名的过程,导致从原始IP地址转移到修改的指定IP地址。

      5.14什么是CSF攻击?如何防卫?

      CSRF - 跨站请求伪造. 攻击方法的步骤是:

      • 受害者登录受信任的A站点,并本地生成Cookie
      • 受害者未经登录进入一个危险的网站B
      • 攻击者获取柯利,然后完成破坏

      如何防护CSF攻击 - 请求トークン验证:

      • 当用户通过正常通道访问服务器时,服务器生成一个随机字符串
      • 该字符串作为记号返回到客户端,并存储在客户端隐藏形式中
      • 客户端必须在每次请求时携带这个记号,服务器会验证该记号

      5.15SQL注射器攻击是什么?如何防御?

      SQL Injection - 提交的表格数据被嵌入到SQL查询文中,被SQL注入,在表格中的参数被替换为SQL文,以便通过欺骗SQL数据库执行恶意代码。

      为了保护SQL注入,你可以:

      • 减少数据库权限和减少SQL注入攻击造成的伤害
      • 避免网站打印SQL错误信息,并在代码中暴露SQL声明,以防止攻击者使用这些错误信息来注入SQL。
      • 翻译或编码输入数据库的特殊字符

      5.16什么是XSS攻击?如何防卫?

      XSS攻击(英语:XSS attacks) — 使用无法翻译或过滤向用户提交的数据的网站,并添加一些嵌入在网页的脚本代码。

      (一)XSS攻击的潜在危害:

      • 盗取各类用户帐号
      • 控制企业数据,包括阅读、篡改、添加、删除企业敏感数据
      • 非法转账
      • 强制发送电子邮件
      • 控制受害者的机器发动攻击网站

      (2)如何防止XSS攻击:

      XSS攻击的主要原因是对客户提交的数据过于信任,让客户修改网站有恶意!解决办法是不信任客户提交的任何数据,只要客户提交的数据应先按照规定处理,然后就可以进行下一个操作。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/28695.html

          热门文章

          文章分类