第一天---关于网络的理解

197 阅读3分钟

网络的基本知识

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:不安全,不可靠,速度快