饥人谷技术博客

前端入门:从输入URL到网站页面展示,发生了什么?

2019-03-03  本文已影响7人  三少他梦

问题:用户打开浏览器,输入 baidu.com,页面展示百度首页。整个过程发生了什么?

一、大致过程概述:

1.用户在浏览器输入URL,发起访问网页的请求;

2.浏览器开始解析域名,查找URL对应的IP地址;

3.浏览器通过IP地址与网页服务器建立联系;

4.网页服务器接收用户请求交给后台处理器处理,并返回处理结果给浏览器;

5.浏览器接收服务器返回的处理结果,对其进行解析、渲染并最终绘制网页。

基本概念名词

URL:Uniform Resource Locater,统一资源定位符

  1. 作用:浏览器在茫茫互联网中通过URL寻找资源的具体位置,通俗说就是“网址”

  2. 结构:

标准格式如下:

协议类型:[//服务器地址[:端口号]][/资源层级UNIX文件路径]文件名[?查询][#片段ID]

完整格式如下:

协议类型:[//[访问资源需要的凭证信息@]服务器地址[:端口号]][/资源层级UNIX文件路径]文件名[?查询][#片段ID]

其中【访问凭证信息@ :端口号 ?查询 #片段ID】都属于选填项。

  1. 语法:



以* https://baike.baidu.com:80/item/url/110640?fr=aladdin *为例, 其中:

  1. " https ",是协议;

  2. " baike.baidu.com ",是服务器(域名);

  3. " 80 ",是服务器上的网络端口号;

  4. " /item/url/110640 ",是路径;

  5. " ?fr=aladdin ",是询问。

常见协议有:http (最常见、不加密)、https(常用、加密))、flp、file等



域名 :Domain Name, 简称 " 域名"、" 网域 ",是由一串用点分隔的字符组成的互联网上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位

1.作用:域名可以说是一个IP地址的代称,目的是为了便于记忆后者。

2.举例:" baidu.com "是一个域名,和IP地址相对应。人们可以直接访问" baidu.com "来代替IP地址,然后域名系统(DNS)就会将它转化成便于机器识别的IP地址。这样,人们只需要记忆 " baidu.com "这一串带有特殊含义的字符,而不需要记忆没有含义的IP数字。

3.域名系统(DNS):Domain Name System,域名解析协议

-DNS的作用:通过分级管理可以有效的管理全球上亿的域名信息,通过分级和分类区分国家地区(.us/.cn/.hk)、公司服务器(谷歌8.8.8.8、国内知名114.114.114.114)等



IP:Internet Protocol Address,网际协议地址,用于根据源主机和目的主机的地址来传送数据



网页服务器:Web Server, 网页服务器,安装了系统的机器中处理请求的应用叫网页服务器(Web Server),常见系统中如Linux、Windows Server 2012等

(1)接收来自浏览器端的HTTP请求

(2)请求转发给指定Web站点程序(后者由Web开发者编写,负责处理请求)

(3)向浏览器发送请求处理结果

二、具体过程描述:

  1. 用户在浏览器中输入URL,例如:baidu.com,发起访问此网页的请求;

  2. 浏览器无法识别URL代表什么,开始按一定规律解析域名依次来查找资源的位置,如查找不到会继续下一步,顺序为:

(1)查找 浏览器缓存 ,DNS中保存着最近访问过的URL记录;

(2)查找 系统缓存,系统的Hosts文件中保存DNS访问记录;

(3)查找 路由器缓存

(4)查找 ISP DNS缓存,如网络服务商(电信)的DNS记录;

(5)如通过以上方式都没找到,会开始查找根域名服务器对应的IP,根域名服务器会向下级服务器转达请求,层层下发,直到找到对应的 IP 为止。

  1. 当浏览器找到了域名对应的IP,服务器(Web Server)作为管理入口接收baidu的Https协议,开始提交给后台服务器处理用户请求,返回处理结果给浏览器;
  1. 浏览器接收到网页服务器返回的HTML字符串后,一句句进行加载和解析;

参考来源:

  1. wiki URL

  2. wiki 域名

  3. wiki IP地址

  4. wiki 网页服务器

  5. 知乎:老生常谈的从 URL 输入到页面展现背后发生的事 By Oli Zhao

上一篇下一篇

猜你喜欢

热点阅读