计算机网络之当输入网址后会发生什么


前言

我们都知道,每次打开浏览器输入网址,如www.baidu.com,这时会进入百度页面。这中间发生了怎样的过程:简单来说当你发送网址,给服务器,服务器返回响应,把对应页面返回给你的机器。那么在你输入网址,点Enter后发生了什么,其中在这一瞬间发生了两个过程:
一,生成HTTP请求消息:
二,向DNS解析得到对应的IP。
接下来将会详细解释这两个过程所设计的知识点。


提示:以下是本篇文章正文内容,下面案例可供参考

一、生成HTTP请求消息

对于生成HTTP请求消息,需要了解到www.baidu.com这个URL是不完整的,完整的URL应该带上相应的协议为https://www.baidu.com,其中除了https这种协议外还有ftp:,file:,new: 等,www.baidu.com是百度公司服务器的名称,后面通过加/的方式来进入这个服务器相应的文件夹或者文件。
了解到了URL的基本格式后,浏览器会对我们输入的URL进行解析生成请求消息,以HTTP协议为例,如图所示,通过//来断开协议与服务器,再利用/来分开服务器名称,目录名称和文件名称,从而生成一个索引。
在这里插入图片描述
在解析完成后浏览器会生成请求消息,实际上请求消息是有着严格的规定的,如下所示。
在这里插入图片描述
接下来将会对请求消息的各个部分进行解释。
首先第一行有个请求方法,在HTTP协议中,具体罗列如下,其中常用的方法有get和post方法,在我们输入网址得到的一般为get方法,在html中的超级链接提交的方法一般为post或者get方法。
在这里插入图片描述
URI实际上是服务器名称,例如www.baidu.com。相应的后面的/dir/…/file.html也有个名称为CGI。
第二行开始为消息头。尽管通过第一行我们就可以大致理解请求的内容,但有些情况下还需要一些额外的详细信息,而消息头的功能就是用来存放这些信息。消息头的规格中定义了很多项目,如日期、客户端支持的数据类型、语言、压缩格式、客户端和服务器的软件名称和版本、数据有效期和最后更新时间等。这些项目表示的都是非常细节的信息,因此要想准确理解这些信息的意思,就需要对 HTTP 协议有非常深入的了解。表中列举了主要的头字段供大家参考。消息头中的内容随着浏览器类型、版本号、设置等的不同而不同,大多数情况下消息头的长度为几行到十几行不等。
在这里插入图片描述
写完消息头之后,还需要添加一个完全没有内容的空行,然后写上需要发送的数据。这一部分称为消息体,也就是消息的主体。不过,在使用 GET 方法的情况下,仅凭方法和 URI,Web 服务器就能够判断需要进行怎样的操作,因此消息体中不需要填写任何数据。消息体结束之后,整个消息也就结束了。
尽管浏览器能够解析网址并生成 HTTP 消息,但它本身并不具备将消息发送到网络中的功能,因此这一功能需要委托操作系统来实现。在进行这一操作时,我们还有一个工作需要完成,那就是查询网址中服务器域名对应的 IP 地址。在委托操作系统发送消息时,必须要提供的不是通信对象的域名,而是它的 IP 地址。因此,在生成 HTTP 消息之后,下一个步骤就是根据域名查询 IP 地址。
首先我们需要理解IP地址的概念,每个设备都有一个地址,相当于某个小区某单元某门牌号。如果单元代表一个子网的话,每个门牌号对应的房间就是一台计算机,这就是这个计算机的地址,也就是IP地址。

二、DNS解析

了解到了IP地址的含义后需要知道DNS是怎样将域名转化为IP的地址的,这里要用到一个Socker套接字的概念了。
向 DNS 服务器发出查询,也就是向 DNS 服务器发送查询消息,接收服务器返回的响应消息。换句话说,对于 DNS 服务器,我们的计算机上一定有相应的 DNS 客户端,而相当于 DNS 客户端的部分称为 DNS 解析器,或者简称解析器。通过 DNS 查询 IP 地址的操作称为域名解析,因此负责执行解析(resolution)这一操作的就叫解析器(resolver)了。解析器实际上是一段程序,它包含在操作系统的 Socket 库中。
解析器的用法非常简单。Socket 库中的程序都是标准组件,只要从应用程序中进行调用就可以了。具体来说,在编写浏览器等应用程序的时候,只要像图这样写上解析器的程序称“gethostbyname”以及 Web服务器的域名“www.lab.glasscom.com”就可以了,这样就完成了对解析器的调用
在这里插入图片描述
在前面的讲解中,我们假设要查询的信息已经保存在 DNS 服务器内部的记录中了。如果是在像公司内部网络这样 Web 和邮件服务器数量有限的环境中,所有的信息都可以保存在一台 DNS 服务器中,其工作方式也就完全符合我们前面讲解的内容。然而,互联网中存在着不计其数的服务器,将这些服务器的信息全部保存在一台 DNS 服务器中是不可能的,因此一定会出现在 DNS 服务器中找不到要查询的信息的情况。下面来看一看此时 DNS 服务器是如何工作的。
在这里插入图片描述
客户端首先会访问最近的一台 DNS 服务器(也就是客户端的 TCP/IP 设置中填写的 DNS 服务器地址),假设我们要查询www.lab.glasscom.com 这台 Web 服务器的相关信息。由于最近的 DNS 服务器中没有存放www.lab.glasscom.com这一域名对应的信息,所以我们需要从顶层开始向下查找。最近的 DNS 服务器中保存了根域 DNS 服务器的信息,因此它会将来自客户端的查询消息转发给根域DNS 服务器。根域服务器中也没有 www.lab.glasscom.com 这个域名,但根据域名结构可以判断这个域名属于 com 域,因此根域 DNS 服务器会返回它所管理的 com 域中的 DNS 服务器的 IP 地址,意思是“虽然我不知道你要查的那个域名的地址,但你可以去 com 域问问看”。接下来,最近的 DNS 服务器又会向 com 域的 DNS 服务器发送查询消息。com 域中也没有 www.lab.glasscom.com 这个域名的信息,和刚才一样,com 域服务器会返回它下面的 glasscom.com 域的 DNS 服务器的 IP 地址。以此类推,只要重复前面的步骤,就可以顺藤摸瓜找到目标 DNS 服务器,只要向目标 DNS 服务器发送查询消息,就能够得到我们需要的答案,也就是www.lab.glasscom.com 的 IP 地址。最后发送给客户机即可。

总结

本文对输入URL浏览器第一步处理的过程进行了详细的解释,包括生成请求消息和DNS解析得到IP地址,但对于网络连接来说只是第一步。

### 回答1: 当在交换机 vty 线路上输入 transport input ssh 命令,将会启用 SSH 协议作为远程管理交换机的方式。这意味着只有使用 SSH 客户端连接到交换机的用户才能够进行远程管理操作,而 Telnet 等其他协议将被禁用。这样可以提高交换机的安全性,防止未经授权的用户通过不安全的协议进行远程管理操作。 ### 回答2: 当在交换机 vty 线路上输入 transport input ssh 命令,交换机会将该 vty 线路的远程登录方式限定为 SSH 协议。这意味着只有使用 SSH 客户端进行连接的用户才能够成功登录到该交换机的 vty 线路进行配置和管理。 SSH(Secure Shell)是一种加密协议,提供了比 Telnet 更高的安全性,因为 SSH 能够对用户和服务器之间的连接进行加密,防止敏感数据在传输过程中被窃取或篡改。因此,通过将 vty 线路的远程登录方式限定为 SSH,交换机可以提高其管理安全性,保护网络不被恶意攻击或未经授权的访问。 此外,如果交换机还配置了其他安全措施,如使用 AAA 认证和授权、开启 SSH 会话超和失败间等,就可以进一步加强交换机的安全性。这些措施可以保护交换机免受未经授权的访问和操作,提高网络的保密性、完整性和可用性。 总的来说,通过在交换机 vty 线路上输入 transport input ssh 命令,可以限制远程用户只能使用 SSH 协议进行登录,并提高交换机的安全性。因此,在实际网络中,这是一个常见且必要的操作。 ### 回答3: 当在交换机 vty 线路上输入 transport input ssh 命令,可以设置该 vty 线路只允许通过 SSH 协议进行远程访问。这意味着当一台设备通过该 vty 线路进行远程访问,必须使用 SSH 协议,而其他协议(如 Telnet)将被拒绝。这可以提高交换机的网络安全性。 SSH(Secure Shell)是一种安全协议,可在远程计算机之间提供加密的、安全的通信。相比之下,Telnet 是一种不安全的协议,所有传输的数据都以明文形式传输,容易被黑客窃取和拦截。因此,通过在 vty 线路上设置 SSH 协议,可以有效地保护交换机不受黑客攻击和数据泄漏的影响。 在输入 transport input ssh 命令后,交换机会将该 vty 线路的协议类型设置为 SSH。这意味着该线路只能使用 SSH 进行远程访问,其他协议(如 Telnet)将不能使用该线路进行远程访问。此外,还需要在交换机上启用 SSH 功能,并在远程设备(如计算机)上安装 SSH 客户端才能进行 SSH 连接。 总之,通过在交换机 vty 线路上输入 transport input ssh 命令,可以增强交换机的安全性,提高网络的安全性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值