9.24经典面试题1——网页打开所经历的的过程

参考https://baijiahao.baidu.com/s?id=1654225744653405133&wfr=spider&for=pc

学习如下:

首先在浏览器地址栏输入url,浏览器开始解析url,确定使用的协议是http还是https

在本地缓存开始查找对应的ip

本地host查找ip

本地路由器dns查找ip

 

此上都查不到,需要到dns服务器查找ip

在dns服务器上,检查缓存中是否存在ip

如果不存在,或者缓存过期,需要在根域名服务器上查找对应ip

根域名服务器同样检查缓存,无则检查域名由哪一个dns服务商负责解析,然后请求转发,获取对应的ip

 

获取到ip之后,ip返回到本地服务商的dns,本地dns更新缓存。客户端拿到了ip

ip到达客户端后,通信过程需要首先取得联系,获得对方回应,使用三次握手

三次握手

过程:客户端发送联系请求、服务器回应、客户端收到确认。在过程中,同步连接双方的序列号和确认号并交换 TCP) 建立tcp连接,与服务器建立短连接。

三次握手就是tcp连接的建立,本连接一定是一方主动,一方被动

它可以防止服务器端开启一些无用的连接增加服务器开销以及防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。

消息传递需要使用到ip协议(确定出发ip和目的地)、arp(如何从一个路由器到下一个路由器,确定下一个节点的地址,使用的是mac地址)、ospf协议(找出最佳路径)等

这个建立的连接是可靠。浏览器就可以使用http协议请求网页内容,将http消息打包,通过tcp协议发送给服务端

服务端收到请求报文后,处理报文信息,处理完成后将数据打包返回给客户端

客户端收到http应答后,提取html文件,进行渲染,显示出网页。

通信完成

通过四次挥手,拆除tcp连接。两方均可发起,通信结束。

四次挥手:

1.客户端想释放,向服务器发送一段tcp报文,客户端进入半关闭状态,关闭发送通道,接受通道仍然开启。

 

2.服务器接受之后,确定了客户想法,于是进入半关闭状态,返回报文,开始准备释放到客户端的连接

客户端接收到后,确定了服务器已经收到了自己的释放需求,客户端进入fin-wait-2阶段

3.服务器发出确认报文后,经过半关闭状态,做好了释放服务器端到客户端方向上的连接准备,再次向客户端发出一段TCP报文,然后进入last-ack阶段,停止发送,但仍然可以接受

4.客户端收到第二次报文后,确认了服务器端已做好释放连接的准备,进入TIME-WAIT阶段,并向服务器端发送一段报文,等待2msl

服务器端收到客户端报文之后,进入CLOSED阶段。正式确认关闭服务器端到客户端方向上的连接。

客户端等待完2MSL之后,结束TIME-WAIT阶段,进入CLOSED阶段,由此完成“四次挥手”。

 

 

 

为什么“握手”是三次,“挥手”却要四次?

TCP建立连接时之所以只需要"三次握手",是因为在第二次"握手"过程中,服务器端发送给客户端的TCP报文是以SYN与ACK作为标志位的。SYN是请求连接标志,表示服务器端同意建立连接;ACK是确认报文,表示告诉客户端,服务器端收到了它的请求报文。

即SYN建立连接报文与ACK确认接收报文是在同一次"握手"当中传输的,所以"三次握手"不多也不少,正好让双方明确彼此信息互通。

TCP释放连接时之所以需要“四次挥手”,是因为FIN释放连接报文与ACK确认接收报文是分别由第二次和第三次"握手"传输的。为何建立连接时一起传输,释放连接时却要分开传输?

建立连接时,被动方服务器端结束CLOSED阶段进入“握手”阶段并不需要任何准备,可以直接返回SYN和ACK报文,开始建立连接。释放连接时,被动方服务器,突然收到主动方客户端释放连接的请求时并不能立即释放连接,因为还有必要的数据需要处理,所以服务器先返回ACK确认收到报文,经过CLOSE-WAIT阶段准备好释放连接之后,才能返回FIN释放连接报文。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Mendix 9.24.2是低代码开发平台Mendix的一个版本。要安装Mendix 9.24.2,您需要按照以下步骤操作: 首先,您需要从Mendix官方网站(https://www.mendix.com/)下载Mendix 9.24.2的安装文件。在网站上,您可以找到Mendix的下载页面,并选择适合您操作系统的安装文件。 下载完成后,双击安装文件开始安装程序。您将被引导到安装向导界面。按照向导的提示,选择安装语言、安装路径和其他设置。确保您具有管理员权限,否则可能无法完成安装过程。 安装过程可能需要一些时间,具体取决于您的计算机性能和网络速度。请耐心等待,直到安装完成。 安装完成后,打开Mendix的安装路径,您将找到Mendix Studio Pro的快捷方式。双击该快捷方式启动Mendix Studio Pro。 在Mendix Studio Pro中,您需要登录或注册Mendix账户。如果已经拥有Mendix账户,请输入您的登录凭据进行登录。如果没有账户,请按照界面上的指引注册一个新账户。 登录后,您可以开始使用Mendix 9.24.2进行低代码应用开发。根据您的需求,您可以创建新的应用、导入现有项目或浏览Mendix的示例模板。 总之,安装Mendix 9.24.2需要下载安装文件、执行安装程序、登录Mendix账户等步骤。安装完成后,您可以开始使用Mendix Studio Pro进行低代码应用开发。 ### 回答2: 要安装 Mendix 9.24.2,你可以按照以下步骤进行操作: 1. 首先,确保你的计算机符合 Mendix 9.24.2 的系统要求。Mendix 9.24.2 可以在 Windows、Mac 和 Linux 系统上运行,并需要一定的计算机性能和软件环境。 2. 访问 Mendix 官方网站并登录你的账号。如果你还没有账号,需要注册一个新的账号。 3. 在 Mendix 官网的下载页面,浏览下载选项,找到 Mendix 9.24.2 的安装包。根据你的操作系统选择相应的安装包进行下载。 4. 下载完成后,双击安装包运行安装程序。根据安装向导的指示,选择安装位置和其他可选设置。确保你已经阅读并同意安装程序的许可协议。 5. 安装程序会开始自动执行安装过程。这可能需要一些时间,具体取决于你的计算机性能和网络速度。 6. 安装完成后,你可以选择启动 Mendix Studio。根据指引输入你的 Mendix 账号信息,创建一个新的项目或者导入现有的项目。 7. 一旦项目加载完毕,你就可以开始使用 Mendix Studio 进行开发。Mendix Studio 提供了一套图形化的工具,帮助你建立应用程序的用户界面、逻辑和数据模型。 以上就是安装 Mendix 9.24.2 的简要步骤。请记住,具体的安装过程可能因操作系统和个人设置而有所不同,建议你参考 Mendix 官方文档或向他们的支持团队寻求帮助。 ### 回答3: Mendix 9.24.2是低代码开发平台Mendix的一个版本。要安装Mendix 9.24.2,您可以按照以下步骤进行操作: 1. 首先,确保您的计算机系统满足Mendix 9.24.2的系统要求。您可以在Mendix官方网站上找到这些要求。 2. 在Mendix官方网站上下载Mendix 9.24.2的安装程序。安装程序通常是一个可执行文件,具有.msi文件扩展名。 3. 双击安装程序,开始安装过程。您可能需要管理员权限才能执行此操作。 4. 跟随安装向导的指示进行操作。通常,您需要同意许可协议、选择安装目录和组件,并选择其他选项,如更新现有安装或创建桌面快捷方式。 5. 完成安装后,您可以在安装目录中找到Mendix 9.24.2的安装文件。您可以选择在桌面上创建快捷方式,以方便您访问平台。 6. 打开Mendix 9.24.2,您将被要求登录或注册。如果已经有一个Mendix账户,您可以使用该账户登录。否则,您需要注册一个新账户。 7. 登录后,您可以开始使用Mendix 9.24.2进行低代码应用开发。您可以使用平台的各种工具和功能,创建自定义应用程序,连接数据源,设计用户界面等等。 总的来说,安装Mendix 9.24.2是一个比较简单的过程。只要您按照安装向导的指示进行操作,您应该能够成功安装和启动Mendix 9.24.2,开始使用这个强大的低代码开发平台。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值