输入baidu.com到页面展现过程中发生了什么?

大家都知道,当我们在浏览器地址栏中输入baidu.com访问后会自动跳转到百度首页展现页面,那么,在整个过程中都发生了什么呢?

1、在浏览器输入URL

1.1 URL是什么

URL: 统一资源定位符,用于定位互联网上的资源
把URL可以分割成几个部分:协议、网络地址、资源路径。
其中网络地址指示该连接网络上哪一台计算机,可以是域名或者IP地址,可以包括端口号;协议是从该计算机获取资源的方式,常见的是HTTP、FTP,不同协议有不同的通讯内容格式;资源路径指示从服务器上获取哪一项资源。
例如:https://baike.baidu.com/item/url
协议部分:http 网络地址:baike.baidu.com资源路径:/item/url

2. 域名解析

对于http://baidu.com的URL,浏览器实际上不知道 baidu.com到底是什么东西,需要查找baidu.com网站所在服务器的IP地址,才能找到目标
那么问题来了,为什么我们要使用域名而不是直接访问IP地址呢?
答案很简单:不好记- - 。

2.1 域名是什么

对于https://www.baidu.com/ , baidu.com就是域名

2.2 IP地址是什么

IP地址是指互联网协议地址,每个处于互联网中的设备都有IP 地址,形如 192.168.0.1
局域网 IP 和公网 IP 是有差别的。
公有地址(Public address)由Inter NIC(Internet Network Information Center 因特网信息中心)负责,这些IP地址分配给注册并向Inter NIC提出申请的组织机构,通过它直接访问因特网;私有地址(Private address)属于非注册地址,专门为组织机构内部使用。
127.0.0.1代表本机的 IP。

2.3 域名解析的流程

Internet上的计算机是通过IP地址来定位的,给出一个IP地址,就可以找到Internet上的某台主机。而因为IP地址难于记忆,又发明了域名来代替IP地址。但通过域名并不能直接找到要访问的主机,中间要加一个从域名查找IP地址的过程,这个过程就是域名解析。
域名解析的大概流程如下:
浏览器缓存 – 浏览器会缓存DNS记录一段时间。
系统缓存 - 从 Hosts 文件查找是否有该域名和对应 IP。
路由器缓存 – 一般路由器也会缓存域名信息。
ISP DNS 缓存 – 比如到电信的 DNS 上查找缓存。
如果都没有找到,则向根域名服务器查找域名对应 IP,根域名服务器把请求转发到下一级,直到找到域名对应 IP地址。

3. 服务器处理

3.1 服务器是什么

服务器是一台安装系统的机器,常见的系统如Linux、windows server 2012
系统里安装的处理请求的应用叫 Web server

3.2 WEB服务器

常见的 web服务器有 Apache、Nginx、IIS、Lighttpd
web服务器接收用户的Request 交给网站代码,或者接受请求反向代理到其他 web服务器


4. 网站处理流程

MVC 模型(model)-视图(view)-控制器(controller)


5. 浏览器处理并绘制网页

HTML字符串被浏览器接受后被一句句读取解析

  • 解析到link 标签后重新发送请求获取css
  • 解析到 script标签后发送请求获取 js,并执行代码
  • 解析到img 标签后发送请求获取图片资源
    浏览器根据 HTML 和 CSS 计算得到渲染树,绘制到屏幕上,js 会被执行。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容