码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 浏览器解析网站原理


    一、URL解析

    主要就是判断你输入的是否是一个合法的URl、并且根据你输入的内容进行自动完成字符编码等操作!

    二、DNS解析

    服务器真实的地址一般是数字、或者数字加字母、如果我们去记数字或者字母的话未免太长了、所以我们一般会把域名和IP地址进行关联、我们只需要记录域名就好、比如bilibili.com, 所以我们如果需要拿到服务器资源的话,我们就需要对域名进行转换,得到服务器真实的IP地址, 而这个过程我们叫做DNS域名解析、DNS解析是一个递归的过程 在了解DNS解析的过程前、我们需要了解下域名的管理、比如bilibili.com其这些常见域名也是有人管理的那就是root(根域名服务器)但是因为都是属于root管理所以我们一般就不会去写了、所以总结 根域名服务器(共13域名) —管理—> 顶级域名服务器(com, cn, net, gov) —管理—> 权威域名服务器(bilibili, baidu, ali…)

    浏览器DNS域名解析
    • 查询自己浏览器缓存中有没有对应的IP记录(有就直接拿到IP)* 主机查询下本地文件(hosts)里面有没有对应记录(有就直接拿到IP)* 如果都没有、浏览器会调用解析器(程序写的)向本地DNS服务器发送请求( 互联网服务提供商) 有些本地NDS服务器可能还会记录下你解析了什么域名,哈哈哈,莫非你看黄被记录着了? 、假设本地NDS服务器在本地没有任何根域名服务缓存的时候:* 1、首先查询下根服务器域名、得到根服务器域名后在通过域名查询这个服务器IP,然后得到根域名IP* 2、通过根域名IP进行通讯查询通用顶级域名地址、这次查询会得到域名名称和对应的域名IP* 3、然后会选择一个顶级域名IP进行咨询我们bilibili.com权威域名服务器地址、这样我们就能得到bilibili.com权威域名服务器地址* 4、然后我们在和这个权威域名服务器进行对话、然后向权威域名服务器咨询www.bilibili域名服务器的IPv4地址、得到地址后本地NDS解析器就会把真实的IP地址返回给我们的解析器! 这样NDS解析就完成了!下面我们模仿下DNS解析器过程、使用的是www.bilibili.com!
    本地NDS解析过程
    第一步查询根域名服务器和根域名服务器IP地址
    nslookup // 回车
    set type=ns //回车
    .//回车、得到一堆根域名服务器地址 Non-authoritative 是因为一般通过缓存得到的结果 
    
    • 1
    • 2
    • 3
    set type=a
    b.root-servers.net.//随便选一个根域名地址,回车得到对应的IP地址 
    
    • 1
    • 2
    第二步 和根域名IP进行对话查询顶级域名地址
    server 199.9.14.2
    • 相关阅读:
      中级 PHP 程序员应该掌握的面试题
      今日AI:GPT-4.5意外曝光可能6月发布、UP主借AI识别情绪播放量186万、全球首个AI程序员诞生
      淘宝官方订单API接口,商品分类属性
      【Linux初阶】多线程2 | 分离线程,线程库,线程互斥,可重入VS线程安全,锁的常见概念
      8 个 Promise 高级用法
      Docker--harbor私有仓库部署与管理
      大数据ClickHouse进阶(二十三):ClickHouse用户配置
      【花书笔记|PyTorch版】手动学深度学习7:模型选择、欠拟合和过拟合
      java-net-php-python-jspm大学生作业管理系统计算机毕业设计程序
      如何在Windows系统中安装5.7.26版本的MySQL?
    • 原文地址:https://blog.csdn.net/qq_53225741/article/details/127774580
    • 最新文章
    • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
      用 Hashids 优雅解决 C 端自增 ID 暴露问题
      V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
      LLVM Pass快速入门(四):代码插桩
      milkup:桌面端 markdown AI续写和即时渲染
      基于项目工程构建SBOM(软件物料清单)的研究
      鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
      .NET 中如何快速实现 List 集合去重?
      扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
      浅谈数据访问层
    • 热门文章
    • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
      奉劝各位学弟学妹们,该打造你的技术影响力了!
      五年了,我在 CSDN 的两个一百万。
      Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
      面试官都震惊,你这网络基础可以啊!
      你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
      心情不好的时候,用 Python 画棵樱花树送给自己吧
      通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
      13 万字 C 语言从入门到精通保姆级教程2021 年版
      10行代码集2000张美女图,Python爬虫120例,再上征途
    小工具 小游戏
    Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

    京公网安备 11010502049817号