从URL输入到页面实现

从URL输入到页面实现

我们需要知道我们从浏览器打开一个页面到底发生了什么

第一步:在浏览器输入URL

URL是什么

URL的全称是统一资源定位符(Uniform Resource Location)用于定位互联网上的资源
URL对应了域名、端口号、协议、以及一些相关的信息

常见的协议

  • http 用于找到网络上的资源
  • https 加密后的http
  • ftp 文件传输
  • file 用于定位本地电脑上的文件

第二步:浏览器域名解析

当我们输入https://www.bilibili.com/的URL,浏览器并不知道https://www.bilibili.com/是什么,这个时候要解析bilibili.com这个域名对应服务器的ip地址

为什么需要域名不直接用ip

域名最终都是需要解析成ip地址,那为什么不直接使用ip地址呢!
使用域名是为了方便记忆,例如百度的ip地址为119.75.217.109很难记忆但是baidu.com却很好记忆。域名具有语义化的作用

ip地址是什么

  • 每个处于互联网上的设备都有ip地址
  • 局域网ip和公网ip是有差别的
  • 127.0.0.1代表本机ip

域名解析过程

1.浏览器缓存-浏览器会缓存dns记录一段时间

假如以前在浏览器中打开过一个页面 浏览器会缓存这个页面的ip地址一段时间

2.系统缓存-从hosts文件查找是否有该域名对应的ip地址

当我们第一次打开一个页面,浏览器没有缓存,这个时候会从系统的host文件中寻找域名对应的ip地址,如果host文件里存有域名的ip地址浏览器就会直接访问

3.路由器缓存-路由器也会缓存域名信息

只要是路由器的用户打开过页面都会存在缓存

4.ISP DNS缓存-比如电信的dns上查找缓存

这是通信服务商的缓存

5.如果以上过程都没找到,则向根域名服务器查找对应ip

根域名服务器把请求转发到下一级,直到找到ip

第三步:服务器处理

服务器就是一台安装了服务器系统的机器,常见的服务器系统有linux和Windows Server20102。linux是没有图型界面的,windows server是有图形界面的。系统了安装了处理请求的应用为 web server。

web服务器

常见的web服务器有Apache、nginx、lls、lighttpd
web服务器的作用就是接收用户的请求(Request)交给网站代码

从URL输入到页面实现_第1张图片
image

上图有三个网站他们的域名都不一样,但是ip地址是一样的,nginx就接收这些请求,根据请求分配不同文件架下页面发送给用户

第四步:网站处理流程

从URL输入到页面实现_第2张图片
image

你可能感兴趣的:(从URL输入到页面实现)