计算机网络
网络模型
OSI七层模型
OSI七层模型定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层)
TCP/IP模型
TCP/IP是一组用于实现网络互连的通信协议。以TCP/IP为核心。
HTTP
HTTP是一种 超文本传输协议(Hypertext Transfer Protocol),在TCP/IP模型的应用层中。 Hypertext 超文本:表示音频,图片等。 Transfer 传输:将数据从一端传到另一端的过程
HTTP Get 和 Post 区别
GET用于请求服务端的资源,是幂等操作。 POST用于修改服务端的资源,是非幂等操作。
GET方法会将客户端的请求参数放在url后面发给服务端,从数据安全性角度是不安全的,而且请求长度有限制。 POST方法将请求参数放在请求体中,从数据安全性角度考虑是安全的,请求长度无限制。
HTTP 是无状态协议吗
是的,HTTP的状态不会被服务器记录下来。 解决方案:浏览器的状态(是否登录等等)可以用cookie记录下来。
HTTP轻便,灵活,易上手,但有个巨大的缺陷:不安全
明文通信,相当于数据裸奔,账号密码可随意盗取,数据可随意篡改 不验证另一方的身份,比如,另一方是否是真的淘宝,无从可知
为了解决HTTP不安全的缺陷,HTTPS诞生。
HTTPS
全称Hypertext Transfer Protocol Secure,就是HTTP + TLS/SSL 协议,其中TLS/SSL来保证安全性。 PS: TLS(Transport Layer Security) 是被标准化了的SSL(Secure Sockets Layer)
HTTP 和 HTTPS 的区别
HTTP地址栏以 http://开头,HTTPS的地址栏以https:// 开头。
HTTP使用明文传输。HTTPS使用加密传输。
HTTPS除了和HTTP一样三次握手建立连接之外,还使用SSL/TLS握手,实现加密传输。
HTTP默认端口为80,HTTPS为443。
HTTPS 的工作原理
混合加密
混合加密实现了信息的机密性。混合加密 = 对称加密 + 非对称加密
摘要算法
摘要算法实现了信息的完整性。
数字证书
传输层
TCP
传输控制协议,面向连接的,可靠的字节流传输层协议
使用场景:邮件,SSH远程登录,文件传输