Blog
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)

HiuZing

🍑
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)
  • 应用层

    • IP地址、域名、DNS
      • 输入网址回车后的过程
        • 域名是什么
        • DNS的作用是什么
      • 域名解析过程
    • HTTP报文格式
    • 本地域名解析
    • WebSocket
  • 传输层

  • 数据链路层

  • 计算机网络
  • 应用层
HiuZing
2022-03-23
目录

IP地址、域名、DNS

# IP地址、域名、DNS(通俗理解)

当我们在浏览器输入网址,回车之后会发生什么呢?

  1. 网站(软件)需要在运行在服务器(硬件)

APP运行在手机上,而网站和APP不一样,网站是对外服务的,所以我们要让别人能够顺着网线找到这个服务器。

  1. 别人怎么找到我们的服务器

服务器接入互联网中之后,会被分配一个IP地址。这个IP地址就像是服务器的手机号,它是全球唯一的。这时候服务器有了IP地址,在浏览器上直接输入IP地址是可以访问的。

  1. 域名作为IP的代替

但是并不是所有的IP地址都很好记,这时候我们需要域名代替IP地址,方便记忆,注册域名就是申请注册全球唯一的名字。

  1. DNS记录

设置域名的DNS记录,指向服务器IP地址。DNS像是一个公开的全球通讯录,负责记录域名+对应的IP地址。IP地址还可能像手机号一样会变更(比如迁移网站),这时候我们只要更新DNS记录就可以了。

# 输入网址回车后的过程

  1. 浏览器拿到网址,去问DNS,这个域名对应的IP地址是什么?
  2. DNS系统查询之后把IP地址告诉浏览器。
  3. 浏览器拿到IP地址,发起通信到服务器。
  4. 服务器收到信息,处理后返回数据。
  5. 浏览器得到数据,在网页呈现出来。

# 域名是什么

域名就是www.xxx.com(这是最简单的一种)

.com之后还可以有东西,称之为根

域名从左向右,级别逐渐增高

# DNS的作用是什么

DNS(Domain Name System)就是将打在地址栏的域名转化为IP地址的东西。

# 域名解析过程

clipboard

  1. 递归查询

在上图中

主机先是想本地域名服务器发送请求

如查不到,本地域名服务器向根域名服务器发送请求(找别人)

如还查不到,根域名域名服务器向顶级域名服务器发送请求(找别人)

如还查不到,顶级域名服务器向权限域名服务器发送请求(找别人)

可以看到每一次向下一个查询的服务器都变了,不是主机一个个去问,而是服务器自己一个个问下去。

  1. 迭代查询

在上图中

主机先是想本地域名服务器发送请求

如查不到,本地域名服务器就让主机去向根域名服务器发送请求(主机去找,本地域名给目标根域名服务器的IP地址)

如还查不到,根域名域名服务器让主机去向对应的顶级域名服务器发送请求(主机去找,根域名给目标顶级域名服务器的IP地址)

如还查不到,顶级域名服务器让主机去向权限域名服务器发送请求(主机去找,顶级域名给目标权限域名服务器的IP地址)

可以看到这里是主机一个个问的地址

  1. 高速缓存

为了减少多次查询同一个域名的资源浪费,本地域名服务器会存储最近使用的ip地址解析,下次再访问同一个域名就不需要这么多查询步骤。

同时这个高速缓存主机本身也有存储。

同时本地域名服务器还可以对顶级域名服务器,权限域名服务器的地址进行缓存,下一次即使是不知道的ip地址,查询也可以更快。

高速缓存为了保持正确性,需要定时更新。

上次更新: 2024/08/14, 04:14:33
HTTP报文格式

HTTP报文格式→

最近更新
01
React Native 使用SVG
08-13
02
Docker基础命令
08-04
03
算数逻辑单元
07-30
更多文章>
Theme by Vdoing | Copyright © 2021-2024 WeiXiaojing | 友情链接
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式