从在地址栏中输入了URL,到浏览器展现出页面整个过程中,大概经历了如下过程:

  • 在浏览器地址中输入了URL并回车
  • 域名解析
  • 服务器处理请求
  • 浏览器处理
  • 网页的绘制

一、在浏览器地址中输入URL

首先解释一下URL的定义:
URL(Uniform Resource Locator),统一资源定位符,用于定位互联网上的资源。

URL的格式一般为:协议类型://<主机名>:<端口>/<路径>/<文件名>
协议类型有http、https、ftp、file等等。其中http协议是最常见的网络传输协议,https则是进行加密的网络传输协议,安全性更高。

再来解释一下什么是IP:
IP 是Internet Protocol的缩写。也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。

简单来说,每个处于互联网中的设备都有IP地址,比如192.168.0.1,127.0.0.1等等。

二、域名解析

域名解析过程中,域名指的是什么呢?

比如 https://www.baidu.com ,前面的"https"表示采用了https协议,而域名就是www.baidu.com,所以我们常说的网站名其实就是该网站的域名。同时域名www.baidu.com也在域名服务器绑定了一个IP,理论上输入与之对应的IP也是可以访问百度首页的,但是使用IP地址进行访问远不如使用域名方便,一个原因是域名更容易被人脑记住,同时域名也是很多公司的名字。

而域名解析这个过程,就是在键入了URL之后,把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。

浏览器具体会从以下几个缓存去查找域名对应的IP:

  • 浏览器缓存:浏览器会检查DNS缓存中是否有与该域名对应的IP
  • 系统缓存:从Hosts文件查找是否有对应域名和IP
  • 路由器缓存:路由器也会缓存DNS,从路由器的DNS中查找对应IP
  • IPS DNS:比如到8.8.8.8或者114.114.114.114,也就是谷歌或者互联网的应用提供商的DNS缓存服务器中查找IP

(DNS:Domain Name System,域名系统,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。)

三、服务器处理

服务器是一台安装系统的机器,常见的系统有Linux、Windows Server 2012。而每台服务器的系统中都会安装处理请求的应用——Web server。

Web server可以解析接收到的HTTP请求(Rquest),返回一个HTTP响应(Response)给用户,或者接受请求后反向代理到其他的Web服务器进行别的解析。总而言之,服务器端都会产生相应的HTML响应让浏览器进行浏览。

具体接收到的HTTP请求则是在后台进行处理,后台处理的主流框架是按照MVC:模型(model)-视图(view)-控制器(controller)进行搭建的。
具体处理过程为:

四、浏览器处理

浏览器会接收到服务器处理返回的HTML字符串,然后进行解析,HTML页面经历了加载、解析、渲染过程。

比如浏览器解析到了link标签,浏览器会重新发送请求获取css文件;解析到了img标签,也会发送请求获取图片资源;当解析到了script标签,html文档会挂起渲染(加载解析渲染同步)的线程,不仅要等待文档中js文件加载完毕,还要等待解析执行完毕,才可以恢复html文档的渲染线程。

五、绘制网页

浏览器根据HTML和css计算得到渲染树,最终绘制到屏幕上。也就是浏览器中我们能看到和进行交互的页面。

从URL输入到页面展现,过程中发生了什么?相关推荐

  1. 从输入URL到显示页面的过程中发生了什么?

    概览 关于这个问题,我看过很多文章,每个人分析的方法与总结的步骤都不相同.我这里按照自己的理解把过程分为了十个部分.因为我主要学习后端,所以最后几步前端的内容略写了. 一.URL解析 二.DNS域名解 ...

  2. 面试必考-从URL输入到页面展现到底发生了什么

    作者:浪里行舟 链接:https://github.com/ljianshu/Blog/issues/24 前言 打开浏览器从输入网址到网页呈现在大家面前,背后到底发生了什么?经历怎么样的一个过程?先 ...

  3. 从输入 URL 到浏览器接收的过程中发生了什么事情

    从输入 URL 到浏览器接收的过程中发生了什么事情? 原文:http://www.codeceo.com/article/url-cpu-broswer.html 从触屏到 CPU  首先是「输入 U ...

  4. 说说从URL输入到页面展现的过程

    :点上面关注免费学习前端知识! 前言 登录网站,是我们每个人每天都会做的事.从打开浏览器,在地址输入框输入URL,按下enter键回车,网站页面就展示在我们面前.而这背后发生了什么,让这个页面得以展现 ...

  5. 【前端问题分析】从输入 URL 到浏览器接收的过程中发生了什么事情?

    从触屏到 CPU 首先是「输入 URL」,大部分人的第一反应会是键盘,不过为了与时俱进,这里将介绍触摸屏设备的交互. 触摸屏一种传感器,目前大多是基于电容(Capacitive)来实现的,以前都是直接 ...

  6. 从输入 URL 到浏览器接收的过程中发生了什么事情?

    写得很全面,有待进一步展开.. 从触屏到 CPU 首先是「输入 URL」,大部分人的第一反应会是键盘,不过为了与时俱进,这里将介绍触摸屏设备的交互. 触摸屏一种传感器,目前大多是基于电容(Capaci ...

  7. 浏览器工作原理:从 URL 输入到页面展现到底发生了什么?

    转载自简书:https://www.jianshu.com/p/d616d887953a,仅做记录分享,侵删 对浏览器原理有过了解的一定不会陌生这篇神文<How Browsers Work> ...

  8. 当输入 https://www.baidu.com 时,返回页面的过程中发生了什么?

    浏览器向 DNS 服务器发送 baidu.com 域名解析请求: DNS 服务器返回解析后的 ip 给客户端浏览器,浏览器想该 ip 发送页面请求: DNS 服务器接收到请求后,查询该页面,并将页面发 ...

  9. URL输入到页面加载解析发生了什么?

    最近在进行前端面试方面的一些准备,看了网上许多相关的文章,发现有一个问题始终绕不开: 在浏览器中输入URL到整个页面显示在用户面前时这个过程中到底发生了什么.仔细思考这个问题,发现确实很深,这个过程涉 ...

最新文章

  1. 面试题31.连续子数组的最大和
  2. PHP学习笔记-文件操作1
  3. gradle_使用Gradle构建和应用AST转换
  4. 洛谷 P1070 道路游戏(noip 2009 普及组 第四题)
  5. Sublime Text 3无法安装Package Control插件的解决
  6. JAVA并发篇_公平锁与非公平锁
  7. Spring框架----Confinguration和Component-Scan注解
  8. 图论算法——最短路径算法
  9. 九度 1526:朋友圈(并查集)
  10. 万稞pw80线切割编程软件_Sodick 沙迪克慢走丝线切割机床,工件摆斜不校边加工步骤...
  11. 面试java程序员hr问你职业规划,2022最新
  12. Ubuntu 源(教育网,IPv6)
  13. Debezium系列之:使用Debezium接入PostgreSQL数据库数据到Kafka集群的详细技术文档
  14. GitHub——修改DNS提高git clone速度
  15. webrtc下的媒体网络连接STUN、TURN、UDP、TCP
  16. ZQOJ 1123: 最佳校友
  17. 二分法求函数的零点(c语言)
  18. 平摊分析(后续持续更新)
  19. Centos7中systemd-journald占用内存过高的解决办法
  20. Python标准库〖 turtle 〗

热门文章

  1. python 删除文件-python 删除文件和读取文件
  2. 19.VS属性管理器窗口不见了怎么办?
  3. histeq函数实现直方图的均衡化和规定化
  4. 自定义结构体-相机参数数据类型
  5. PATH环境变量设置
  6. mssql 查询当前自增序号_查询函数Choose、Lookup、Hlookup、Vlookup应用技巧解读
  7. 软件架构自学笔记----分享“去哪儿 Hadoop 集群 Federation 数据拷贝优化”
  8. 【网络基础】02、IP地址
  9. 深入浅出WPF开发下载
  10. 百度ueditor 拖文件或world 里面复制粘贴图片到编辑中 上传到第三方问题