【运维面试题】26道HTTP和HTTPS的面试题(附答案)

      最后更新:2022-07-29 03:36:35 手机定位技术交流文章

      1.HTTP和HTTS之间的连接是什么?他们的端口号码是什么?

      HTTP通常承载于TCP之上,在HTTP和TCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了我们常说的HTTPS。HTTP默认的端口号为80,Https默认的端口号为443。

      2.为什么HTTPS更安全?

      在网络请求中,需要有很多 服务器 路由器的传输。每个节点可以改变信息,如果你使用HTTPS,密钥在终点站才有。HTTPS比HTTP更安全,这是因为它使用SSL/TLS协议进行传输。包括证书 、 卸载 、 交通转运, 负载均衡 页面匹配、浏览器匹配、引用转移等。确保传输过程的安全.

      你知道HTTP/2的多少?

      HTTP/2引入了“服务器端推送”(server push)的概念,它允许服务器端在客户端需要数据之前主动将数据发送到客户端缓存中,从而提高性能。

      HTTP/2提供了更多的加密支持。

      HTTP2使用多线技术,允许在一个连接上同时截获多个消息。

      它增加了头压缩( header compression),因此请求非常小,请求和响应的 header都只会占用很小的带宽比例。

      使用你所知道的HTTP状态代码。

      (1)100 Continue表示继续,一般在发送post请求时,已发送了 HTTP header之后,服务器端将返回此信息,表示确认,之后发送具体参数信息。

      (2)200 OK表示正常回报

      (3)创建意味着请求成功,服务器创建了新的资源。

      (4) Accepted 表示服务器接受了请求,但未处理它。

      (5)301 永久迁移表示请求的页面已经永久迁移到一个新的位置。

      (6)302 找到意味着暂时的重新定位。

      (7)303 参见 其他 指示临时转向,并且总是使用GET来请求新的URI。

      (8)304 Not Modified表示自从上次请求后,请求的网页未修改过,

      (9)400坏请求表示服务器不能理解请求的格式,并且客户端不应该尝试使用相同的内容重新启动请求。

      (10)401 未经 授权 表示, 请求 没有 授权 。

      (11)403 禁止 的 国家 规定, 访问 是 禁止 的 。

      (12)404 Not Found表示不能找到与URI匹配的资源。

      (13)500 Internal Server error表示最常见的服务器端错误。

      (14)503 Service Unavailable表示服务器端暂时无法处理请求(可能过载或维护)。

      5.什么是完整的HTTP事务过程?

      基本流程如下。

      (一)域名分析。

      (二)三手握手启动TCP。

      (3)建立TCP连接后启动HTTP请求。

      (4)服务器响应HTTP请求,浏览器接收HTML代码。

      (5)浏览器分析HTML代码并要求在HTML代码中提供资源。

      (六)浏览器将页面呈现给用户。

      6.实现一个简单的HTTP服务器。

      在Node.js中加载HTTP模块,并创建服务器,监听端口代码。如下所示:

      复制

      HTTP是什么?

      HTTP是客户端和服务器之间的数据传输的格式规范,意思是“超文本传输协议”。

      什么是HTTP无状态协议?如何克服HTTP无状态协议缺陷?

      (1)无状态协议没有处理事务的内存容量,状态不足意味着需要事先提供信息,如果需要处理后续行动。

      (2)克服无状态协议缺陷的方法是通过cookie和对话存储信息。

      9,HTTP请求消息和响应消息中包含哪些部分?

      所 要求 的 报告 有 三 部分 。

      (1)请求行,包含请求方法、URI、HTTP版本信息。

      (二)请求第一句。

      (三)请求内容实体。

      答复报告有三个部分。

      (1)状态行,包含HTTP版本、状态代码、状态代码推理语句。

      (二)回答第一个句子。

      (三)对内容实体的回应。

      HTTP中的请求方法是什么?

      (1)GET:请求访问由URI(统一资源标识符)识别的资源,并通过URL向服务器发送参数数据

      (2)POST:向服务器发送信息的主要功能与GET方法类似,但发送的数据量通常不受限制。

      (3)PUT:包含消息体内容的传输文件,保存到相应的URI位置。

      (4)HEAD:获取消息的第一部分,类似GET方法,但不会返回消息主体,通常用于验证URI是否有效。

      (5)删除:删除文件,与PUT方法相反,删除文件在相应的URL位置。

      (6)选项:由相应的URI支持的HTTP查询方法。

      11,HTTP协议1.0版本规范和1.版本规范之间的区别是什么?

      在HTTP1.0中,当建立连接后,客户端发送一个请求,服务器端返回一个信息后就关闭连接,当浏览器下次请求的时候又要建立连接。显然,这种不断建立连接的方式会造成很多问题。

      在HTTP1中,介绍了连续连接的概念.通过这种连接,然后浏览器可以创建连接,发送请求并接收反馈,然后继续发送请求,直到消息返回。也就是说,客户可以连续发送多个请求,不要等每一个反应来.

      包含哪些HTTP头条?

      (1)一般第一个字段(第一个字段将用于请求和响应消息)。

      它包括以下几部分。

      • 日期:创建报告的时间
      • Connection:连接的管理
      • Cache- Control:缓存的控制
      • Transfer- Encoding:报文主体的传输编码方式

      (二)请求第一行(请求声明的第一行将使用)。

      它包括以下几部分。

      • 主机: 请求资源的服务器.
      • 接受:一种可以处理的媒体。
      • 接受字符集: 可接受字符集.
      • Accept- Encoding:可接受的内容编码。
      • Accept- Language:可接受的自然语言。

      (3)回答第一个行(响应消息的第一个行将被使用)。

      它包括以下几部分

      • Accept-Ranges:可接受的字符串范围。
      • 位置: 将URL转向客户端.

      服务器:HTTP服务器的安装信息

      (4)实体头条(用于请求消息和响应消息的实体部分的头条)。

      它包括以下几部分。

      • 允许:资源支持的HTTP方法。
      • 内容类型:实体主体类型。
      • Content- Encoding:实体主体使用的编码方式。
      • Content-Language:实体主体的自然语言。
      • Content- Length:实体主体的字节数。
      • 内容范围(Content-Range):实体主体的定位范围,通常用于发布部件请求。

      与HTTPPS相比,HTTP有什么缺点?

      HTTP的缺点如下。

      (1)通信使用纯文本,不加密,内容可能被盗窃,即被捕获和分析。

      (2)不验证通信方身份,可能遭到伪装。

      (三)不能核查报告的完整性,可以修改。

      HTTPS是HTTP+加密处理(通常是SSL安全通信线)+认证+完整性保护。

      如何优化HTTP请求?

      使用负载平衡优化和加速HTTP应用程序请求;使用HTTP缓存优化网站请求。

      15.HTTP协议的特征是什么?

      支持客户端/服务器模式, 简单, 快速, 灵活, 没有连接, 没有状态.

      16,HTTP1.版本1的新功能是什么?

      新特性如下所示。

      (1)默认的长期连接,保存通信,这样您可以发送多个HTTP请求,只要客户端服务端的任何端不明确地指示切断TCP连接。

      (2)客户端可以同时发送多个HTTP请求,而不等待每个响应。

      (三)中断点再传输的原则。

      比如TCP传输的三手四手策略。

      为了准确无误地把数据送达目标处,TCP采用了三次握手策略。用TCP把数据包发送出去后,TCP不会对传送后的数据置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志,即SYN和ACK。

      发送器首先发送一个带SYN符号的数据包到接收机。接收端收到后,返回与SYN/ACK符号的数据包,以表示正确的通信,并确认信息。最后,发送器返回带有ACK符号的数据包,代表“握手”结東。如果震动的某个阶段发生匿名中断,TCP将再次以相同的顺序发送同样的包。

      切断TCP连接需要“四手握手”。

      第一个握手:主动的闭幕器发送一个 FIN,用于从主动到被动关闭的数据传输,也就是说,主动的开关会告诉被动的开关,主动开关不再向被动开关发送数据(当然,Fin包装前发送的数据,若未收到相应的ACK确认消息,则主动关闭方仍将重新发送数据),但是,此时, 主动开关也可以接收数据.

      第二次握手:被动开关接收了 FIN包,并向另一方发送ACK,确认该编号是接收的编号+1(类似于SYN, FIN占有编号)。

      第三次握手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,被动关闭方的数据也发送完了,不会再给主动关闭方发送数据了。

      第四次握手:从主动开关接收 FIN后,向被动开关发送ACK,以确认序列数由序列数+1接收,并完成四次握手。

      TCP和UDP之间的区别。

      TCP( Transmission control protocol,(传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须与另一方建立可靠的联系.TCP连接必须在三个“对话”之后建立。

      UDP( User Datagram Protocol,用户数据报协议)是与TCP相对应的协议。这是一个不连接的协议,它与另一个人没有联系,相反,他们直接发送数据包。UDP适用于低可靠性要求的少量数据和应用环境的二次传输。

      从输入URL到页面加载显示的页面是完成的. 过程中发生了什么?

      整个过程可以分为四个步骤。

      (1)发送URL请求时,该URL是否是网页的URL或网页上每个资源的URL,浏览器将打开一个线程来处理此请求,同时在远程DNS服务器上启动DNS查询。这允许浏览器访问请求的相应的IP地址。

      (2)浏览器和远程网络服务器通过TCP三个握手建立一个TCP连接。震动由同步消息、同步响应消息和响应消息组成,这些三项消息是通过浏览器和服务器之间的。客户首先尝试握手来建立沟通,然后服务器响应并接受客户端的请求,最后,客户端发送了一个接受请求的消息。

      (3)一旦TCP/IP连接建立,浏览器会通过该连接向远程服务器发送HTTP的GET请求。远程服务器找到资源并使用HTTP响应返回该资源,值为200的HTTP响应状态码表示一个正确的响应

      (4)目前网络服务器提供资源服务,客户端开始下载资源。请求返回后,输入浏览器终端模块。浏览器将分析HTML生成DOM树,其次,CSS规则树将根据CSS生成,JavaScript也可以基于DOM API运行DOM。

      网络层模型的七层是什么?

      七层分别是应用( Application)层、表示( Presentation)层、会话( Session)层传输( Transport)层、网络( Network)层、数据链路(Link)层和物理( Physical)层。

      每一层的作用如下。

      • 应用程序层: 意味着允许访问OSI环境.
      • 显示层: 翻译、加密和压缩数据.
      • 会议层: 会议的建立 、 管理和终止.
      • 传输层: 提供可靠的端到端消息传输和错误恢复.
      • 网络层: 负责从源到主机传输和互连的包.
      • 数据链层:将位子组装成帧并实现点到点传输。
      • 物理层: 通过媒体传输 bits 确定机械和电学规范.

      你在网络的七级模型中知道哪些协议?

      有以下几种协议。

      • ICMP是互联网控制消息协议,是TCP/IP协议家族的一个子协议,用于传输IP主机和路由器之间的控制消息。
      • TFTP,或TCPP协议家族,是一个用于客户与服务器之间的简单文件传输的协议,提供非复杂、低成本的文件传输服务。
      • HTTP,即超文本传输协议,是一个属于应用层的面向对象的协议,由于其简捷快速的方式,适用于分布式超媒体信息系统。
      • DHCP,即动态主机配置协议,是一种让系统得以连接到网络并获取所需要配置参数的手段。

      谈谈304个缓冲器的原理。

      服务器首先生成请求的ETag,服务器可以在随后的请求中使用它来确定页面是否被修改。 基本上,客户端要求服务器通过将签名送回服务器来验证它(客户端)是否被缓存。

      304是一个HTTP状态代码,服务器使用它来识别文件没有修改,不会返回内容,浏览器使用浏览器接收状态代码后缓存的文件。

      客户端请求页面A.服务器返回页面A,并添加一个ETag到A.客户端显示页面并用ETag缓存页面。

      客户端再次请求A页,并在最后请求时将服务器返回的ETag传递给服务器。

      服务器检查该ETag,并判断岀该页面自上次客户端请求之后还未被修改,直接返回响应304(未修改一 Not modified)和一个空的响应体。

      Etag是什么

      当发送服务器请求时,浏览器首先作出缓冲过期判断。 浏览器不会向服务器发送请求来确定缓存文件是否过期,取决于缓存过期的时间,并直接使用结果在缓存中。

      此时,我们可以在浏览器控制面板中看到200OK(从缓存中),在这种情况下,缓存被完全使用,浏览器和服务器没有相互作用。

      如果延迟,将请求发送给服务器。 在此点,请求将提取文件修改时间和标签,然后作出资源更新判断。

      服务器根据该文件的修改时间决定,在浏览器的最后请求后是否修改了该文件。 根据标签,该文件的内容被判断是否在最后请求后发生变化。

      若两种判断的结论都是文件没有被修改过,服务器就不给浏览器发送新的内容,而是直接告诉浏览器,文件没有被修改过,可以继续使用缓存—-304 Not Modified。

      此时,浏览器将从本地缓存中获取请求资源的内容,称为协议缓存,浏览器和服务器将有一个请求交互。

      如果任何时间变化或文件内容判断不能通过,服务器将接受请求并返回新的数据注意。只有获取请求将被缓存,而邮件请求则不会。

      ETag的应用。

      Etag由服务器生成,客户端通过 If-Match 或 If-None-Match 条件判定请求是否修改资源。 I-None-Match 通常用于请求文件的程序如下。

      在第一个请求中,客户端启动Http Get请求获取文件,服务器处理请求,返回文件内容和请求标题(包括Eagle),并返回状态代码200 在第二个请求中,客户端启动Http Get请求获取文件。

      注意,这个时候客户端同时发送一个If-None- Match头,这个头的内容就是第一次请求时服务器返回的Etag服务器判断发送过来的Etag和计算出来的Etag是否匹配。

      如果If-None-Match是错误的,客户端继续使用本地缓存,而不返回200,返回304。

      如果服务器设置了 Cache- Control:max-age和 Expires,服务器端在完全匹配 If-Modified- Since和 If-None-Match后,即检查修改时间和标签后,才能返回304。

      25、Expires和 Cache- Control的作用是什么?

      期满需要严格同步客户端和服务器时间.HTTP1.1引入Cache-Control来克服 Expires头的限制。如果最大年龄和期限同时发生,最高年龄优先。

      具体代码如下所示。

      什么是相反的代理人?

      逆代理(Reverse Proxy)指通过代理服务器接收互联网上的连接请求。然后请求被发送到内部网络上的服务器上,并从服务器返回请求互联网连接的客户端的结果,此时,代理服务器被外部表示为反向代理服务器。

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

          热门文章

          文章分类