zoukankan      html  css  js  c++  java
  • 浏览器输入url按回车背后经历了哪些?

    在PC浏览器的地址栏输入一串URL,然后按Enter键这个页面渲染出来,这个过程中都发生了什么事?

    1、首先,在浏览器地址栏中输入url,先解析url,检测url地址是否合法
    2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。
    浏览器缓存:浏览器会记录DNS一段时间,因此,只是第一个地方解析DNS请求;
    操作系统缓存:如果在浏览器缓存中不包含这个记录,则会使系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存);
    路由器缓存:如果上述两个步骤均不能成功获取DNS记录,继续搜索路由器缓存;
    ISP缓存:若上述均失败,继续向ISP搜索。
    3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。
    4、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。
    5、握手成功后,浏览器向服务器发送http请求,请求数据包。
    6、服务器处理收到的请求,将数据返回至浏览器
    7、浏览器收到HTTP响应
    8、浏览器解码响应,如果响应可以缓存,则存入缓存。
    9、 浏览器发送请求获取嵌入在HTML中的资源(html,css,javascript,图片,音乐······),对于未知类型,会弹出对话框。
    10、 浏览器发送异步请求。
    11、页面全部渲染结束。

     

  • 相关阅读:
    ajax获取数据中文乱码问题最简单的完美解决方案
    修改easyui默认datagrid的表格内字体大小,样式
    setTimeout延迟加载方法的使用
    解决java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList的问题
    模块和包
    常用模块
    匿名函数及推导式
    python-迭代器和生成器
    python-内置函数
    python-递归
  • 原文地址:https://www.cnblogs.com/ZoeLiang/p/10742445.html
Copyright © 2011-2022 走看看