李南江的前端课程(一)浏览器的组成和浏览器请求的过程

什么是浏览器

浏览器是一个软件,可以渲染页面给用户观看和使用。可以和用户进行交互。
主流的浏览器:
在这里插入图片描述
其实市场上有很多的浏览器,但是他们使用的内核大致可以分为几大类:
浏览器内核即是浏览器采用的渲染引擎。
一般我们只要能处理上面5款浏览器的内核就可以了。因为其他浏览器的内核都是对上面5款浏览器的内核进行包装的。
所以处理兼容问题,我只需要处理上面5款浏览器的兼容就可以了。
在这里插入图片描述
在这里插入图片描述
SHELL:浏览器的用户界面;主要包括工具栏、地址栏、前进/后退按钮、书签菜单等(除了网页内容外的其他部分)
渲染引擎主要用于获取网页结构、添加CSS样式、计算网页结构等,它决定了浏览器如何显示网页的内容以及页面的格式信息;
JS引擎用于解析JS脚本,为网页添加动态效果;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

什么是服务器

服务器我们可以理解为一台超级计算机。即服务器也是一台电脑,只不过一般都比我们的电脑的配置高,24小时不关机。服务器的功能主要是用来存储数据,然后客户端可与对服务器中数据进行访问和操作。服务器就是一个可以供客户端进行访问的超级电脑。

浏览器访问网页原理

在我们利用浏览器访问网页的时候,是有真实的物理文件传输的。浏览器会将网页上的内容缓存到本地文件夹中,然后再渲染出来,呈现给用户查看。
当我们第二次访问网页的时候会比第一次访问快,因为我们有缓存文件夹。
一个网页不是一个文件,而是一堆文件。

浏览器请求数据的过程

在这里插入图片描述
请求报文:请求行+请求头+空行+请求体
响应报文:响应行+响应头+响应体

客户端向服务器请求数据,分为几个步骤

  1. 客户端将域名发送给DNS,DNS解析出Ip地址,再返还给客户端;

  2. 客户端拿到了Ip地址,就向服务器发送http请求,期间经历三次握手,建立TCP连接
    三次握手:1. 客户端发送连接、请求报文;2. 服务端接受连接后回复ACK报文,并为这次连接分配资源;3. 客户端收到报文后,也向服务器发送ACK报文,并分配资源,这样TCP连接就建立了。
    注:ACK报文是用来确认发来的数据已接受无误。

  3. 服务器向客户端发送HTTP协议应答包

  4. 客户端和服务器断开,期间经历四次挥手,之后客户端开始解释处理HTML文档

四次挥手: 1. 客户端发起中断连接请求,也就是发送FIN报文,服务器接受到FIN报文后,FIN报文的意思是说“我客户端已经没有数据要发送给你了,但是如果你还有数据没有发完,可以不着急关闭,可以继续发送数据”;2. 服务器发送ACK报文,告诉客户端,“你的请求我收到了,但是我还没有准备好,请继续等我的消息”;wait: 这个时候客户端进入FIN-WAIT状态,继续等待服务端的FIN报文;3. 当服务端确定数据已发送完毕,就向客户端发送FIN报文,告诉客户端,“我的数据已经发送完了,准备好关闭连接了”; 4. 客户端收到FIN报文后,就知道已经可以关闭连接了,但是他还是不相信网络,怕服务端不知道可以关闭了,所以发送ACK报文后进入TIME_WAIT状态,如果服务端没有接受到ACK则可以重传。服务端收到ACK后,就知道可以断开连接了。客户端等待了2MSL后依然没有收到回复,则证明服务端已经断开连接了,然后客户端也断开了来连接。这样TCP连接就关闭了。

什么是URL

在浏览器的地址栏中输入的地址就是一个URL。Uniform Resource Locator统一资源定位符。
在这里插入图片描述
http://www.baidu.com:80/index.html
对URL进行拆分:
http:// URL的协议类型,这个表示使用的是HTTP协议
www.baidu.com:服务器的一个域名,需要通过访问DNS服务器来查找到待访问服务器的IP地址,找到服务器的那一台电脑。(现实生活中的地址)
:80 服务器的端口号,找到服务器电脑上的那个应用软件。(现实生活中的门牌号)
index.html:需要访问的资源名称,即在服务器中要访问的文件路径和文件名。需要获取服务器上的哪个资源。这个一般可以通过后台系统进行设置。

HTTP协议

HyperText Transfer Protocol,超文本传输协议。
什么是协议?即通信双方否需要遵守的规则。用来规范约束某一类事物,不遵守协议,双方的通信就会有问题。
HTTP协议规范约束的是哪一类事物?沟通问题。
沟通问题?沟通最常见的问题就是语言不通,那么就会出现沟通问题。
HTTP协议就是用来约束规范客户端和浏览器之前的沟通的,如何沟通,提前规范两个人之间如何沟通。
只要两个人都遵守这个协议,那么沟通起来就没有问题了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值