前言

作为大三学生,学习前端,希望能够来年找个好实习。复习中,各种焦虑,想想静下心来。决定写写博文,有助于自己好好复习并且不断学习。

踏上道路

前端面试经典题目:输入一个url到网页上完整呈现出来的全过程

分析问题

我暂时将这个问题分为:

  • $1 输入url,DNS解析

  • $2 http请求

  • $3 服务器端

  • $4 http响应

  • $5 页面渲染

$1 在client输入url

Que

DNS(域名系统)

  • 为什么机器在处理IP数据报时要使用IP地址而不是用域名呢?

  • 采用什么结构的命名方法?什么是分布式的域名系统DNS,为什么使用?

  • DNS系统的效率为什么高效?

  • 域名解析的过程?

  • 域名组成?

  • 域名服务器采用划分区的方法。

  • 域名服务器有那么种,特点是什么?

  • 域名查询请求、返回响应使用什么方式进行数据报的传输,为什么?

  • DNS解析时,域名与IP映射关系是?

an

  • 因为IP地址长度是固定的(IPv6 => 128, IPv4 => 32),而域名的长度并不是固定的,机器处理起来比较困难

  • 层次树状结构的命名方法,采用联机分布式数据库系统,并采用客户-服务器方式。若果单个机器出错了,也不会妨碍整个DNS系统的正常运行。

  • DNS使大多数名字都在本地进行解析,仅少数解析需要在因特网网上通信。

  • 在TCP/IP,地址的转换常称为地址的解析,地址解析可能包含多次的查询请求和回答过程。........
    ........当某个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析程序,并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器。(使用UPD是为了减少开销)。本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。....应用进程获得木的主机的IP地址后即可通信。

注意点:主机向本地域名服务器的查询一般都是采用递归查询。本地域名服务器向根域名服务器的查询通常是采用迭代查询。

  • 每一个域名都是由标号序列组成,而各标号之间用点隔开。域名只是逻辑概念,并不代表计算机所在的物理地点。

  • 一个服务器所负责的管辖范围叫做区。一个区中的节点必须是能够连通的。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。DNS服务器的管辖范围是以“区”为单位。区 <= 域。

  • 域名服务器有4种:

根域名服务器

  • 最高层次,最重要的。假设所有的根域名服务器都瘫痪了,那么整个的DNS系统就没法工作了。

  • 所有根域名服务器都知道所有的顶级域名服务器的域名和IP地址。

  • 不管哪一个本地服务器,若要对因特网上的任何一个域名进行解析,只要自己无法解析,就首先要求助根域名服务器。

  • 很多情况下,根域名服务器并不是直接把待查询的域名直接转换成IP地址,而是告诉本地域名服务器下一步应当查找哪一个顶级域名服务器。

顶级域名服务器

权限域名服务器

本地域名服务器

  • 又称默认域名服务器

最后一个问题,是学姐问过我的,当时一脸蒙逼,不是一对一吗?! 当然不是,是多对多!!!分析下次写。


shots
56 声望2 粉丝

前端开发前进者