大家好,从输入URL到页面上经常问的内容发生了什么。今天,我将逐步介绍此过程以及其中一些的原理以及为重要网络协议设计的重要网络协议。
我将其大致分为以下六个步骤:
URL分析
DNS查询
TCP连接
处理请求
回复
渲染页
顾名思义,URL分析是地址分析。它的作用是分析用户输入的地址并将其转换为IP地址。一般步骤如下:
1.用户进入地址栏中的URL。
2.查看缓存以检查缓存中是否有请求并确定是否是新鲜的。
6.获得目标主机的IP地址后,您可以建立TCP连接。
建立TCP连接有3个步骤,这是我们经常说的:三个握手:
(1)第一步:客户端的TCP首先将连接请求消息段发送到服务器的tcp.synchronous syn集合中,并在此特殊消息段中选择一个初始序列号seq = j同一时间。规定SYN消息段无法携带数据,但它会消耗序列号。这次,TCP客户流程输入了合成状态。
(2)步骤2:服务器的TCP接收连接请求报告段,如果同意建立连接,请将其发送回客户端以确认并为TCP连接分配缓存和变量。,设置SYN位和ACK位1,确认号为ACK = J+1,并且还为您自己选择一个初始序列号SEQ =K。在同一时间,确认无法携带消息段,但是必须消耗序列号。这次,TCP服务器进程输入了SYN-RCVD状态。
(3)步骤3:当客户端接收确认消息段时,必须将其确认到服务器并分发用于TCP Connection的缓存和变量。确认消息段1的ACK位置,确认ACK = y+ 1,序列号seq = x+ 1。报纸部分可以携带数据,如果不携带数据,则不会消耗序列号。这次,TCP客户流程输入了已建立的状态。
在上述三个步骤之后,建立了TCP连接,并且可以传输应用程序层数据。TCP提供完整的封面通信,因此双方的应用程序过程可以随时发送数据。
但是,目前有一个问题,即完成第二次握手时分配了服务器的资源,并且在完成第三次握手时分配了客户端的资源,这使得服务器很容易受到Syn Hong的攻击。
Syn Hong Pan -攻击是指攻击者向目标服务器发送大量SYN消息。服务器将发送SYN/ACK并等待攻击者ACK消息。目前,服务器将连接以获取某些资源。目前,服务器上将保持大量的半连接。该机构已发布。如果攻击者发送的软件包数量很大,并且服务器为时已晚,以至于回收资源,则将耗尽资源来响应新的正常请求。
Syn Cookie可以有效抵抗Syn Hong Pan -攻击。Hong Pan -攻击还有其他几种方法。具体原则不会在这里引入太多。
7.建立THETCP连接后发送HTTP请求
8.服务器接受请求和分析,并将请求转发到服务程序。
9.服务器检查HTTP请求标头是否包含缓存验证信息。如果有的话,请验证缓存是否是新鲜的,并返回状态代码(例如304)。
10.阅读完整的处理请求并准备HTTP响应。
11.服务器通过TCP连接将响应消息发送回浏览器。
12.浏览器接受HTTP响应消息。目前,您可以根据要求关闭TCP连接。关闭TCP连接有4个步骤。通常称为四个握手。
13.浏览器检查响应状态代码。如果是301,302的跳跃信息,浏览器将跳到新的地址栏继续导航。如果是200,则意味着浏览器可以继续处理请求。
14.如果可以缓存资源,请缓存。
15.资源解码和压缩。
16.确定如何处理资源类型的类型,url请求的数据类型有时是下载类型,有时是正常的HTML页面。http head中有一个字段内容类型。什么类型。如果是下载类型,请求将提交给浏览器的下载管理器,并且URL请求在此时间内。如果是html,请继续,然后准备渲染过程。(以下假设资源为HTML)
17.准备渲染过程。一般而言,打开新页面的渲染过程策略是:
20.显示页面(该页面将在HTML解析过程中逐渐显示)。
因此,一般过程就是这样。看到这一点,迅速回忆起来并尝试组织您的语言,以在面试中回答面试官的问题。
以上纯粹是学习过程中个人的摘要。如果有错误的地方,欢迎每个人都能纠正它。
原始:https://juejin.cn/post/7098335747266052132