前端之浏览器

2023-05-16

你会不会和我一样,开发了N年,真要讲起浏览器,发现自己一无所知。

常用那几种浏览器测试?

IE、Safari、Chrome、Mozilla Firefox、Opera

主流浏览器的内核有哪些?

Trident内核

代表产品为Internet Explorer,又称其为IE内核。Trident(又称为MSHTML),是微软开发的一种排版引擎 。

Gecko内核

代表作品为Mozilla Firefox。Gecko是一套开放源代码的、以C++编写的网页排版引擎,是最流行的排版引擎之一,仅次于Trident。使用它的最著名浏览器有Firefox。

WebKit内核

代表作品有Safari、Chrome。WebKit是一个开源项目,主要用于Mac OS系统,它的特点在于源码结构清晰、渲染速度极快。缺点是对网页代码的兼容性不高,导致一些编写不标准的网页无法正常显示。

Presto内核

代表作品Opera。Presto是由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。

说说你对浏览器内核的理解

排版渲染引擎:主要负责取得网页的内容(HTML、XML、图像等)、整理信息,以及计算网页的显示方式,然后输出至显示器

JavaScript引擎:是用来渲染JavaScript的,JavaScript的渲染速度越快,动态网页的展示也越快

一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?

1.浏览器根据请求的URL交给DNS域名解析,找到真实IP

2.浏览器根据 IP 地址向服务器发起 TCP 连接,与浏览器建立 TCP 三次握手

三次握手步骤

a.客户端向服务器发送一个建立连接的请求

b.服务器接到请求后发送同意连接的信号

c.客户端接到同意连接的信号后,再次向服务器发送了确认信号,然后客户端与服务器的连接建立成功

3.浏览器发送HTTP请求

浏览器根据 URL 内容生成 HTTP 请求,请求中包含请求文件的位置、请求文件的方式等等;

4.服务器处理请求并返回HTTP报文(HTTP响应报文也是由三部分组成: 状态码, 响应报头和响应报文。):

过程如下:

a…服务器接到请求后,会根据 HTTP 请求中的内容来决定如何获取相应的 HTML 文件;

b.服务器将得到的 HTML 文件发送给浏览器;

c.在浏览器还没有完全接收 HTML 文件时便开始渲染、显示网页;

d在执行 HTML 中代码时,根据需要,浏览器会继续请求图片、CSS、JavsScript等文件,过程同请求 HTML 。

5.断开连接

(详情的三次握手与四次挥手,可见我前面博客)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端之浏览器 的相关文章

  • POSTMAN从入门到精通系列(二十七):使用GraphQL

    通过Postman中的GraphQL支持 您现在可以使用请求正文创建和发送GraphQL查询 除了创作GraphQL请求外 您还可以 直接在Postman中创建和存储GraphQL模式 启用GraphQL查询自动完成 由Postman AP
  • 解决adb网络连接中出现的“由于目标计算机积极拒绝,无法连接”错误

    在调试一块全志A83T安卓工控板 xff08 已root xff09 xff0c 启动后 xff0c 安卓系统正常 xff0c 设置好以太网 的静态IP地址 xff1a 192 168 1 181 xff0c 并接好网线 xff0c 同时开
  • 【Linux操作系统安装配置GO环境的详细教程】

    1 首先我们进入GO官方 xff0c 查找对应要进行下载到Linux操作系统对应的版本 xff0c 复制链接地址 Go官方环境地址 2 首先进入到下载位置的目录 xff0c 然后到Linux操作系统上执行wget下载命令 然后进行解压 sp
  • Android KEYCODE键值对应大全

    Android KEYCODE 键值对应大全 KEYCODE 列表 电话键 键名 描述 键值 KEYCODE CALL 拨号键 5 KEYCODE ENDCALL 挂机键 6 KEYCODE HOME 按键 Home3 KEYCODE ME
  • CMake版本低升级高版本

    使用cmake命令安装Opencv软件时 xff0c 报如下错误 xff1a CMake Error at CMakeLists txt 4 CMAKE MINIMUM REQUIRED CMake 3 5 4 or higher is r
  • Fiddler弱网测试

    一 弱网简介 弱网看字面意思就是网络比较弱 xff0c 我们通称为信号差 xff0c 网速慢 1 弱网的影响 在地铁 隧道 电梯和车库等场景下使用APP xff0c 网络会出现延时 中断和超时等情况 如果我们处于网速慢的地段 xff0c 我
  • linux创建和删除crontab定时任务

    一 添加sheel脚本 1 首先创建一个执行程序 xff1a vim a sh 2 编辑 xff1a xff01 bin bash python3 python py gt gt test2 log 2 gt amp 1 3 添加权限 xf
  • sphinx文档生成脚手架工具安装和使用

    1 sphinx的安装与使用 1 1 安装sphinx sphinx官方安装说明 xff1a Installing Sphinx Sphinx documentation readthedoc官方说明 xff1a Getting Start
  • geth客户端安装

    geth是以太坊的官方客户端 xff0c 它是一个命令行工具 xff0c 提供很多命令和选项 xff0c 可以运行以太坊节点 创建和管理账户 发送交易 挖矿 部署智能合约等 下面介绍geth的三种安装方法 xff1a 直接下载可执行文件 在
  • win系统下,利用goland来build生成geth.exe可执行文件

    golang环境搭建 具体安装方法就不再赘述 xff0c 但是以太坊对golang的版本有要求 xff0c 得1 7及以上 xff0c 推荐1 9 3 go ethereum代码下载 可以直接访问https github com ether
  • 删除容器命令

    删除容器使用 docker rm 命令 1 删除容器 1 首先需要停止所有的容器 docker stop docker ps a q 2 删除所有的容器 只删除单个时把后面的变量改为container id即可 docker rm dock
  • 正则 (?:)

    X 在正 则中表示所匹配的子组X不作为结果输出 正常情况 X 中的X会被作为新增的一个组序号输出 xff0c 比如 A B xff0c A的序号1 B的序号2 如果 A B xff0c A将没有序号不输出 B的序号为1 规范化url xff
  • 用maven-replacer插件选择正则表达式替换

    在前端html或者jsp中会引入一些诸如css js等静态资源 xff0c 但是有时候浏览器会有缓存 xff0c 更新js后 xff0c 返现一些用户看到的仍然是旧的 xff0c 说明没有生效 这样的话一般是在引入静态资源的时候添加时间戳
  • 【LeetCode股票买卖系列:123. 买卖股票的最佳时机 III 暴力递归=>记忆化搜索=>动态规划】

    x1f680 算法题 x1f680 x1f332 算法刷题专栏 面试必备算法 面试高频算法 x1f340 x1f332 越难的东西 越要努力坚持 xff0c 因为它具有很高的价值 xff0c 算法就是这样 x1f332 作者简介 xff1a
  • [模版]线段树

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • 判断是否属于同一子网

    include lt bits stdc 43 43 h gt using namespace std int main char a 10 b1 10 b2 10 while scanf 34 s s s 34 a b1 b2 61 EO
  • 单点登录之cas6.5安装部署

    目录 一 准备工作二 安装 jdk11三 安装gradle三 安装tomcat四 下载cas并编译五 部署六 访问 一 准备工作 需要的包 xff1a jdk11 tomcat9 GRADLE7 2 cas overlay template
  • 单点登录之cas集成禅道

    目录 一 前言二 添加应用 xff0c 开启免密登录三 请求格式 一 前言 禅道11 5 1版本开始 xff0c 增加了第三方应用免密登录禅道的功能 xff0c 可以利用此功能实现单点登录 二 添加应用 xff0c 开启免密登录 三 请求格
  • Oracle ora-12514报错解决方法

    目录 一 问题描述二 解决方法 一 问题描述 Oracle 报错 ora 12514 二 解决方法 修改 tnsnames ora xff0c 一般在 D oracle product 10 2 0 client 1 NETWORK ADM
  • “你需要来自XXX的权限才能对此文件夹进行更改”的解决方法

    目录 一 问题描述二 解决方法1 方法1 xff1a 鼠标右键文件夹 xff0c 选择 属性 gt 安全 选项卡 xff0c 对用户进行授权2 方法2 xff1a 选择 高级 xff0c 更改所有者 xff0c 并添加至权限条目3 方法3

随机推荐

  • windows10获取超级管理员权限

    目录 一 新建文本文件 xff0c 命名为带 reg后缀的文件 xff0c 添加以下内容二 鼠标双击运行三 鼠标右键要获取权限的文件夹 xff0c 选择 获取超级管理员权限 一 新建文本文件 xff0c 命名为带 reg后缀的文件 xff0
  • python2.7安装

    目录 一 下载二 安装三 设置环境变量四 验证 一 下载 1 通过 python 官网 https www python org 找到 2 7 版本进行下载 xff1a https www python org downloads rele
  • sharding报错no table route info

    目录 一 问题描述二 解决方法 一 问题描述 集成 sharding 执行数据库操作报错 xff1a no table route info 二 解决方法 一般为分库分表策略配置错误 xff0c 请检查 application yml 文件
  • Nginx配置http跳转https

    目录 一 return 301二 rewrite三 497 状态码四 meta 刷新 Nginx 可通过多种方式实现 http 跳转 https xff0c 以下列出各种方式的实现方法 一 return 301 这是 Nginx 新版本的写
  • OpenFlow网络、OpenFlow交换机及OpenFlow协议的知识总结

    目录 OpenFlow起源与发展 OpenFlow网络 1 OpenFlow交换机 xff1a 2 FlowVisor xff1a 3 Controller xff1a OpenFlow交换机 分类 安全通道 流表 OpenFlow协议 x
  • 【高效运维】Jenkins之uni-app自动化部署

    目录 一 前言二 使用 Pipeline 创建任务1 创建一个流水线任务2 配置流水线 xff08 1 xff09 配置构建触发器 xff08 2 xff09 配置流水线 xff08 Pipeline script from SCM xff
  • Windows下安装Redis7.0.8

    目录 一 下载二 解压三 启动服务四 客户端连接测试五 把 redis 安装到服务1 安装2 启动服务3 停止服务4 卸载服务 一 下载 官网上没有 windows 版本的 redis 下载 xff0c 需要到 github 下载 xff1
  • 若依微服务版之集成Mybatis-Plus和Lombok

    目录 一 修改根目录 pom xml二 修改 ruoyi common core 的 pom xml三 去掉 nacos 配置文件中的 mybatis 配置 xff0c 添加 mybatis plus 配置四 添加配置类并注入五 注入类六
  • Windows下安装JDK

    目录 一 下载二 安装三 设置环境变量1 新增环境变量 JAVA HOME2 新增环境变量 CLASS PATH3 环境变量 PATH 添加变量值 四 验证 一 下载 下载链接 xff1a https www oracle com java
  • CentOS7下安装superset

    目录 一 前言二 安装 Miniconda1 下载2 安装3 加载环境变量配置文件4 取消激活 base 环境 三 创建 Python3 9 环境1 配置 conda 国内镜像2 创建 superset 环境并指定 Python3 93 激
  • Java--a++与 ++a 与 a=a+1 与a+=1

    a 43 43 等效 a 61 a 43 1 43 43 a 等效 a 43 61 1 计算顺序的区别 xff1a a 43 43 是先参加程序的运行再 43 1 xff0c 而 43 43 a则是先 43 1再参加程序的运行 举例 xff
  • 数据仓库系列文章二:浅谈企业数据仓库总线矩阵

    Kinball在 数据仓库工具箱 一书中 xff0c 详细阐述维度建模思想 xff0c 并给出维度建模的众多实践 维度建模的核心内容和建设过程在实践中已经被大家所熟知 xff0c 网上教程也很多 xff0c 本文不做赘述 本文重点谈一谈企业
  • Java中 List、Set、Map 之间的区别

    小博此篇记录了开发过程中常用的几种集合详解 xff0c 三者的区别对比均从IDEA相关层次图里面所得知 xff0c 基于JDK8 xff0c 如有错误欢迎批评指正 List 列表 List的元素以线性方式存储 xff0c 可以存放重复对象
  • DuiLib介绍及其消息处理剖析

    DirectUI技术 DirectUI意为直接在父窗口上绘图 Paint on parent dc directly 即子窗口不以窗口句柄的形式创建 windowless xff0c 只是逻辑上的窗口 xff0c 绘制在父窗口之上 微软的
  • xargs命令

    原作者地址 xff1a https www cnblogs com chyingp p linux command xargs html 感谢原作者 Linux基础 xff1a xargs命令 简介 xargs可以将输入内容 xff08 通
  • 为何HBase速度很快?

    为何HBase速度很快 xff1f HBase能提供实时计算服务主要原因是由其架构和底层的数据结构决定的 xff0c 即由LSM Tree Log Structured Merge Tree 43 HTable region分区 43 Ca
  • VirtualBox虚拟机不能ping通宿主机的解决方法

    解决VirtualBox虚拟机不能ping通宿主机的问题 问题描述 在VirtualBox虚拟中 xff0c 无法ping通宿主机 xff0c 宿主机可以ping通虚拟机 虚拟机的网络已经设置为 桥接网卡 xff0c 也可以正常上网 问题原
  • CMake 使用方法 & CMakeList.txt

    cmake 简介 CMake是一个跨平台的安装 编译 工具 可以用简单的语句来描述所有平台的安装 编译过程 他能够输出各种各样的makefile或者project文件 能测试编译器所支持的C 43 43 特性 类似UNIX下的automak
  • Hadoop安装目录

    root software hadoop 2 6 0 cdh5 15 1 etc hadoop 第一步骤 vi core site xml lt configuration gt lt property gt lt name gt fs d
  • 前端之浏览器

    你会不会和我一样 xff0c 开发了N年 xff0c 真要讲起浏览器 xff0c 发现自己一无所知 常用那几种浏览器测试 xff1f IE Safari Chrome Mozilla Firefox Opera 主流浏览器的内核有哪些 xf