计算机网络

1、浏览器输入url到页面响应的过程

大致可分为三步:
一、DNS解析URL对应的IP地址
DNS解析就是将域名翻译成IP地址的过程。
1、首先浏览器应先检查本地hosts文件是否缓存此网址的映射关系,若有则直接使用,结束;
2、若本地hosts文件没有,浏览器会发出一个 DNS请求到本地DNS服务器(本地DNS服务器一般都是你的网络接入服务器商提供,比如中国电信,中国移动),DNS请求到达本地DNS服务器之后,本地DNS服务器会首先查询它的缓存记录,如果缓存中有此条记录,则直接返回结果,结束;
3、若还是没有,本地DNS服务器还要向DNS服务器进行查询,进行迭代查询,按跟服务器 ->顶级域,.cn->第二层域,hb.cn->子域www.hb.cn的顺序查找。

二、浏览器发送请求与服务器交互
1、首先浏览器利用tcp协议通过三次握手与服务器建立连接
2、浏览器根据解析到的IP地址和端口号发起http请求
3、服务器接收到http请求之后,开始搜索html页面,并使用http返回响应报文
4、若状态码为200显示响应成功,浏览器接收到返回的html页面之后,开始进行页面的渲染

三、浏览器页面渲染过程
1、浏览器根据深度遍历的方式把html节点遍历成dom 树
2、将css解析成CSS对象模型(CSSOM)
3、将dom树和CSSOM结合成render(渲染)树
4、JS根据得到的render树,计算所有节点在屏幕中的位置,进行布局(回流)
5、遍历render树(paint),绘制页面像素信息(重绘)



2、TCP三次握手

第一次握手:建立连接时,客户端向服务器发出连接请求报文段,等待服务器确认;
第二次握手:服务器在收到连接请求报文段后,如同意建立连接,则向客户端发送确认;
第三次握手:客户端收到服务器的确认后,向服务器发送确认包 ,建立连接。

【为什么进行三次握手?】

  • 三次是最少的安全次数,确保双方都准备充分,不会存在任何一方突然断开连接
  • 两次不安全,四次浪费资源


3、TCP/IP的四层协议

**应用层运输层网际层网络接口层**

(1)应用层

任务:通过应用进程间的交互完成特定网络应用。
定义:应用进程间通信和交互的规则
这里的指的是主机中正在运行的程序。
我们把应用交互的数据单元称为报文

应用层常用协议有:
DNS:域名系统
FTP:文件传输协议
TELNET:远程终端协议
HTTP:超文本传输协议
SMTP:电子邮件协议
SNMP:简单网络管理协议

(2)运输层

任务:向两台主机中进程之间的通信提供通用的数据传输服务。
运输层主要使用两种协议:TCP、UDP。

传输控制协议TCP: 提供面向连接的、可靠的数据传输服务,数据传输单位为报文段

用户数据报协议UDP:提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),数据传输单位为用户数据报

(3)网际层(网络层)

任务:为分组交换网上的不同主机提供通信服务,解决不同网络的互连问题。

(4)网络接口层

从实质上讲,TCP/IP只有最上面的三层,因为最下面的网络接口层并没有什么具体内容。

学习计算机网络的原理时往往采取折中的办法,综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构。
OSI的七层协议(从下至上):物理层、数据链路层、网络层、运输层、会话层、表示层、应用层。
五层协议(从下至上):物理层、数据链路层、网络层、运输层、应用层。



4、HTTP和HTTPS

HTTP(HyperText Transfer Protocal,超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。

HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。相当于是安全的HTTP。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。

  • HTTP默认端口为80,HTTPS默认端口为443.

  • HTTPS数据传输过程是加密的,相比HTTP更加安全

  • HTTP页面响应速度比HTTPS快,HTTPS的握手阶段比较费时

    HTTP使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,一共是 12 个包,故相对来说较慢



5、对称加密和非对称加密

对称加密:加密和解密使用同一个密钥
非对称加密:发送端使用公钥加密,接收端使用私钥解密

对称加密简易、快速,非对称加密安全。

HTTPS的加密既用到了对称加密,也用到了非对称加密。

将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密进行沟通,既安全又快速!



6、

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值