域名系统(DNS)
域名系统(Domain Name System):因特网使用的命名系统,把主机名(如www.cskaoyan.com)转换为便于机器处理的IP地址。
DNS 系统采用客户/服务器模型,其协议运行在UDP 之上,使用53 号端口。
从概念上可将DNS 分为3 部分:层次域名空间、域名服务器和解析器。
1. 层次域名空间
因特网采用层次树状结构的命名方法。
域(Domain) 是名字空间中一个可被管理的划分。域还可以划分为子域,而子域还可以继续划分为子域的子域,这样就形成了顶级域、二级域、三级域等。
2. 域名服务器
域名到IP 地址的解析是由运行在域名服务器上的程序完成的,一个服务器所负责管辖的范围称为区(不以“域”为单位)。
DNS 使用了大量的域名服务器,它们以层次方式组织。没有一台域名服务器具有因特网上所
有主机的映射,相反,该映射分布在所有的DNS 上。主要有4 种类型的域名服务器。
根域名服务器
最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP 地址
顶级域名服务器
负责管理在该顶级域名服务器注册的所有二级域名。
授权域名服务器
将其管辖的主机名转换为该主机的IP 地址。
本地域名服务器
每个因特网服务提供者(ISP), 或一所大学,甚至一所大学中的各个系,都可以拥有一个本地域名服务器。当一台主机发出DNS 查询请求时,这个查询请求报文就发送给该主机的本地域名服务器。事实上,我们在Windows 系统中配置“本地连接”时,就需要填写DNS 地址,这个地址就是本地DNS (域名服务器)的地址。
- 域名解析过程
域名解析是指把域名映射成为IP 地址或把IP 地址映射成域名的过程。前者称为正向解析,后者称为反向解析。当客户端需要域名解析时,通过本机的DNS 客户端构造一个DNS 请求报文,以UDP 数据报方式发往本地域名服务器。
域名解析有两种方式:递归查询和递归与迭代相结合的查询。
万维网
介绍HTTP之前先看看万维网(WWW)的组成
万维网的内核部分是由三个标准构成的:
I) 统一资源定位符(URL) 。负责标识万维网上的各种文档,并使每个文档在整个万维网的范围内具有唯一的标识符URL 。
URL是对可以从因特网上得到的资源的位置和访问方法的一种简洁表示。URL 相当于一个文件名在网络范围的扩展。URL 的一般形式是:
<协议>://<主机>:<端口>/<路径>
2) 超文本传输协议(HTTP) 。一个应用层协议,它使用TCP 连接进行可靠的传输, HTTP是万维网客户程序和服务器程序之间交互所必须严格遵守的协议。
3) 超文本标记语言(HTML) 。一种文档结构的标记语言,它使用一些约定的标记对页面上的各种信息(包括文字、声音、图像、视频等)、格式进行描述。
超文本传输协议(HTTP)
超文本传输协议(HTTP) 。一个应用层协议,它使用TCP 连接进行可靠的传输, HTTP是万维网客户程序和服务器程序之间交互所必须严格遵守的协议。
用户单击鼠标后所发生的事件按顺序如下(以访问西交官网首页为例):
I ) 浏览器分析链接指向页面的URL ( https://www.xjtu.edu.cn/index.htm ) 。
协议(scheme):https
主机名(host):www.xjtu.edu.cn
端口(port):443(默认)
路径(path):/index.htm
2) 浏览器向 DNS 请求解析 https://www.xjtu.edu.cn 的IP 地址。
3) 域名系统DNS 解析出西交服务器的lP 地址。
4) 浏览器与该服务器建立TCP 连接(默认端口号为80) 。
5) 浏览器发出HTTP 诘求: GET /index.htm 。
6) 服务器通过HTTP 响应把文件 index.htm 发送给浏览器。
7) 释放TCP 连接。
8) 浏览器解释文件index.htm, 并将Web 页显示给用户。
HTTP和TCP的联系和区别
联系:HTTP是基于TCP实现可靠传输的。每当一个HTTP请求被发送(HTTP1.1之后支持持久连接),TCP连接首先在客户端和服务端建立。TCP保证数据包能按顺序、完整地到达。
区别:
- 协议层次和功能不同:HTTP位于应用层,定义了客户端和服务端之间如何交换信息;TCP 位于传输层,负责数据的可靠传输、流量控制等
- 数据格式的区别:HTTP:数据以明文格式传输,包括请求行、首部行、消息主体。TCP:数据被分割成多个小包,每个包都有自己的序列号和校验和,用于确保传输的可靠性