从url输入到页面展现到底发生了什么

90 阅读2分钟

从url输入到页面展现到底发生了什么

一、DNS解析:将域名解析成IP地址

1、URL(统一资源定位符)

2、URI(统一资源标识符)

  • URL和URI的区别: URL是URI的自己, 原本URI是由URN(姓名)和URL(位置)组成, 但是由于URN几乎没人使用,所有URI几乎都为URL
  • new URL(), 通过URL可以获取得到host, hostname, hash等, 不用通过字段判断

3、URL的语法规则 scheme://host.domain:port/path/filename

  • scheme: 因特网服务类型。 常见的协议: http、https、ftp、file
  • host:域主机, http的默认主机是www
  • domain:因特网的域名
  • port:主机上的端口号, 默认是(http: 80, https:443)
  • path: 服务器的路径
  • filename: 文档、资源的名称

4、浏览器的缓存机制(如果浏览器有对应url的缓存, 那么根据是否需要向服务进行请求可以分为以下两种类型)

  • 强缓存(Expires 和 cache-control): 如果资源存在并且有效, 则直接读取本地磁盘, 无需建立连接
  • 协商缓存(Last-modified或者etag): 服务器判断数据需要更新, 若需要更新返回状态码200+新数据, 否则返回204, 读取本地资源
  • 具体可以看文章浏览器的缓存机制

5、DNS域名解析
浏览器输入网址后, 首先要经过域名解析, 因为浏览器并不能通过域名找到对应的服务器,而是要通过ip地址(IP协议提供的一种统一地址格式)。对于人类来说, 用字母配合数字的表示形式来指定服务器更加符合人类的记忆习惯(域名是给人类记忆和沟通的)。 对于计算机来说, 更擅长处理一长串的数字(ip地址是提供给计算机运算的)
域名解析本质:

1、DNS协议提供通过域名查找IP地址, 或者通过IP地址反找域名的服务
2、DNS是个网络服务器, 我们的域名解析简单来说就是在DNS中查找一条信息记录

二、TCP: TCP三次连接

三、http发送请求

四、服务器处理请求并返回响应结果

五、浏览器解析渲染页面

六、断开连接: TCP四次挥手