栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

计算机网络:小明在家里输入了一个URL打开网址的过程,究竟发生了什么?

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

计算机网络:小明在家里输入了一个URL打开网址的过程,究竟发生了什么?

文章目录

前言一、简单版流程描述二、过程中使用到的协议

TCP/IP协议DNS协议URL/URI协议HTTPS 三、复杂描述

前言

分析一个例子,加深自己在计算机网络方面的理解:从小明在家里输入一个URL网址,到网址呈现在他面前,这个过程究竟发生了什么?

一、简单版流程描述

我们以小明输入了http://www.someSchool.edu/someDepartment/home.index为例

我们在地址栏输入URL(即网址),浏览器会向DNS(域名服务器,后面会说)提供网址,由它来完成 URL 到 IP 地址的映射。然后将请求你的请求提交给具体的服务器,在由服务器返回我们要的结果(以HTML编码格式返回给浏览器),浏览器执行HTML编码,将结果显示在浏览器的正文。这就是一个浏览器发起请求和接受响应的过程。

DNS服务器会首先进行域名的映射,找到访问www.someSchool.edu所在的地址,然后HTTP 客户端进程在 80 端口发起一个到服务器 www.someSchool.edu 的 TCP 连接(80 端口是 HTTP 的默认端口)。在客户和服务器进程中都会有一个套接字与其相连。HTTP 客户端通过它的套接字向服务器发送一个 HTTP 请求报文。该报文中包含了路径 someDepartment/home.index 的资源,我们后面会详细讨论 HTTP 请求报文。HTTP 服务器通过它的套接字接受该报文,进行请求的解析工作,并从其存储器(RAM 或磁盘)中检索出对象 www.someSchool.edu/someDepartment/home.index,然后把检索出来的对象进行封装,封装到 HTTP 响应报文中,并通过套接字向客户进行发送。HTTP 服务器随即通知 TCP 断开 TCP 连接,实际上是需要等到客户接受完响应报文后才会断开 TCP 连接。HTTP 客户端接受完响应报文后,TCP 连接会关闭。HTTP 客户端从响应中提取出报文中是一个 HTML 响应文件,并检查该 HTML 文件,然后循环检查报文中其他内部对象。检查完成后,HTTP 客户端会把对应的资源通过显示器呈现给用户。 二、过程中使用到的协议 TCP/IP协议

CP/IP 我们一般称之为协议簇,什么意思呢?就是 TCP/IP 协议簇中不仅仅只有 TCP 协议和 IP
协议,它是一系列网络通信协议的统称。而其中最核心的两个协议就是 TCP / IP 协议,其他的还有 UDP、ICMP、ARP
等等,共同构成了一个复杂但有层次的协议栈。

TCP 协议的全称是 Transmission Control Protocol 的缩写,意思是传输控制协议,HTTP 使用 TCP
作为通信协议,这是因为 TCP 是一种可靠的协议,而可靠能保证数据不丢失。

IP 协议的全称是 Internet Protocol 的缩写,它主要解决的是通信双方寻址的问题。IP 协议使用 IP 地址
来标识互联网上的每一台计算机,可以把 IP地址想象成为你手机的电话号码,你要与他人通话必须先要知道他人的手机号码,计算机网络中信息交换必须先要知道对方的 IP 地址。

上述的浏览器向DNS域名服务器提供网址的时候采用了HTTP协议,也就是说采用了TCP通信协议;而DNS域名服务器完成URL到IP地址的映射,也就是说需要得到IP地址,也就从而用到了IP协议 DNS协议

DNS 你有没有想过为什么你可以通过键入 www.google.com
就能够获取你想要的网站?我们上面说到,计算机网络中的每个端系统都有一个 IP 地址存在,而把 IP 地址转换为便于人类记忆的协议就是 DNS协议。

DNS 的全称是域名系统(Domain Name System,缩写:DNS),它作为将域名和 IP
地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。

上述已经进行了阐述,从人类可记忆的网址www.google.com到这个网址实际对应的web服务器的IP地址的过程就使用到了DNS协议进行映射 URL/URI协议

我们上面提到,你可以通过输入 www.google.com
地址来访问谷歌的官网,那么这个地址有什么规定吗?我怎么输都可以?AAA.BBB.CCC 是不是也行?当然不是的,你输入的地址格式必须要满足URI 的规范。

URI的全称是(Uniform Resource Identifier),中文名称是统一资源标识符,使用它就能够唯一地标记互联网上资源。

URL的全称是(Uniform Resource Locator),中文名称是统一资源定位符,也就是我们俗称的网址,它实际上是 URI的一个子集。

URI 不仅包括 URL,还包括 URN(统一资源名称),它们之间的关系如下


所以,当我们输入www.google.com这样的域名时,其实就是用到了URI协议,或者说URL协议

HTTPS

HTTP 一般是明文传输,很容易被攻击者窃取重要信息,鉴于此,HTTPS 应运而生。HTTPS 的全称为 (Hyper Text Transfer Protocol over SecureSocket Layer),全称有点长,HTTPS 和 HTTP 有很大的不同在于
HTTPS 是以安全为目标的 HTTP 通道,在 HTTP 的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在 HTTP的基础上增加了 SSL 层,也就是说 HTTPS = HTTP + SSL。(这块我们后面也会详谈 HTTPS)

上文中从Web服务器返回到客户端的HTTP响应报文,便可以采用HTTPS进行加密传输

三、复杂描述

看这篇
Web 页面的请求历程

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/728989.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号