计算机网络

网络模型

OSI七层模型

OSI七层模型定义了网络互连的七层框架(物理层数据链路层网络层传输层会话层表示层应用层

计算机网络 - 图1

TCP/IP模型

TCP/IP是一用于实现网络互连的通信协议。以TCP/IP为核心。

计算机网络 - 图2

HTTP

HTTP是一种 超文本传输协议(Hypertext Transfer Protocol),在TCP/IP模型的应用层中。 Hypertext 超文本:表示音频,图片等。 Transfer 传输:将数据从一端传到另一端的过程

HTTP Get 和 Post 区别

GET用于请求服务端的资源,是幂等操作。 POST用于修改服务端的资源,是非幂等操作。

GET方法会将客户端的请求参数放在url后面发给服务端,从数据安全性角度是不安全的,而且请求长度有限制。 POST方法将请求参数放在请求体中,从数据安全性角度考虑是安全的,请求长度无限制。

HTTP 是无状态协议吗

是的,HTTP的状态不会被服务器记录下来。 解决方案:浏览器的状态(是否登录等等)可以用cookie记录下来。

计算机网络 - 图3

HTTP轻便,灵活,易上手,但有个巨大的缺陷:不安全

明文通信,相当于数据裸奔,账号密码可随意盗取,数据可随意篡改 不验证另一方的身份,比如,另一方是否是真的淘宝,无从可知

为了解决HTTP不安全的缺陷,HTTPS诞生。

HTTPS

全称Hypertext Transfer Protocol Secure,就是HTTP + TLS/SSL 协议,其中TLS/SSL来保证安全性。 PS: TLS(Transport Layer Security) 是被标准化了的SSL(Secure Sockets Layer)

计算机网络 - 图4

HTTP 和 HTTPS 的区别

HTTP地址栏以 http://开头,HTTPS的地址栏以https:// 开头。

HTTP使用明文传输。HTTPS使用加密传输。

HTTPS除了和HTTP一样三次握手建立连接之外,还使用SSL/TLS握手,实现加密传输

HTTP默认端口为80,HTTPS为443。

HTTPS 的工作原理

混合加密

混合加密实现了信息的机密性。混合加密 = 对称加密 + 非对称加密

摘要算法

摘要算法实现了信息的完整性

数字证书

传输层

TCP

传输控制协议,面向连接的,可靠字节流传输层协议

使用场景:邮件,SSH远程登录,文件传输

计算机网络 - 图5

TCP 协议如何保证可靠传输

网络模型

OSI七层模型

OSI七层模型定义了网络互连的七层框架(物理层数据链路层网络层传输层会话层表示层应用层