网络的基本知识
url:
http://127.0.0.1:5500/01-html/01-%E5%88%9D%E8%AF%86html.html file:///C:/Users/Administrator/Desktop/20190712JS/01-html/01-初识html.html
- http协议:计算机与计算机之间的一种通信规则
- 127.0.0.1:本机服务的ip地址
- 5500:端口 Live Server 默认开启服务的端口
- file:协议
从输入一个网址到浏览器显示界面经历的过程:
- DNS解析:
eg:www.baidu.com 是一个域名(一台服务器的别名)但访问一个服务器必需要IP地址
DNS域名解析系统本质上就是一台服务器,里面存储了域名和ip地址的对应关系
最后得到一个地址后,就知道要访问的是哪一台服务器了
- 发起TCP连接(三次握手):
打通双方的通道,通道打开客户端与服务器才能进行通信
- 发送http请求:
发送的请求需要满足http规则
- 服务器处理请求并返回http报文:
服务器得到请求后进行处理,整合你需要的数据并发送到服务器
- 浏览器渲染界面:
浏览器解析数据,解析完成后,在渲染,显示。
- 连接结束(四次挥手)。
从输入一个网址到浏览器显示界面经历的过程(精简版):
- DNS解析得到IP地址
- 根据IP地址访问对应的服务器
- 请求之前先建立TCP连接(三次握手)
- 发送请求
- 服务器得到请求并给出响应资源
- 浏览器得到响应后,进行解析和渲染
- 断开连接(四次挥手)
整个过程也叫一个HTTP事物
三次握手(HTTP协议是基于TCP协议,在数据流通之前,有一个建立TCP连接的过程:)
- 客户端向服务器发起连接请求
- 服务确认接收到请求并向客户端发送连接请求
- 客户端确认收到服务器发送的连接请求
完成后客户端与服务器之间就可以进行通信了
四次挥手:
- 甲方发出断开连接请求
- 乙方确认接收请求
- 乙方发出断开连接请求
- 甲方确认接收请求
乙方接受请求后不能立即发出断开连接请求,原因: 接收到甲方的断开连接请求时,乙方或许还有数据没有给甲方,因此乙方需要将数据处理完成之后才能发送断开连接请求。
浏览器渲染资源的过程:
浏览器是一个多进程软件,浏览器打开一个选项卡相当于打开一个进程
进程是操作系统分配和调度资源(CPU和内存)的基本单位
完成操作的是进程中的线程
目前记住两个线程:js线程,ui线程 两个线程互斥
ui线程工作过程:
1. HTML生成DOM树
2. CSS生成CSS树
3. DOM树+CSS树 =》渲染树
4. 浏览器根据这棵树将页面渲染出来
客户端与服务器:
客户端:浏览器,app,PC...
服务器:一台装有特殊软件的电脑,不同的软件处理外界不同的请求
HTTP协议:
客户端与服务器通信的一套规则,是应用层的协议之一,基于TCP协议
TCP和UDP协议:
位于传输层
TCP:安全,可靠,耗时
UDP:不安全,不可靠,速度快