HTTPS

一.核心概念

明文------要传输的原始数据

密文------明文加密

加密------明文--->密文

解密------密文--->明文

密钥------进行加密、解密的辅助工具

二.加密算法

1.两类加密算法

对称加密:加密、解密使用同一个密钥

非对称加密:有一对密钥,用A加密则用B解密,反之亦然。公开的成为公钥,非公开的成为私钥。

2.加密过程

(1)引入对称加密

(2)传输对称密钥

(3)对对称密钥进行加密,引入非对称密钥

(4)中间人攻击

(5)引入证书机制,对证书进行校验

关键:让客户端识别出拿到的公钥是否正确合理、并非伪造。

证书内容:证书发布机构、证书有效期、公钥、证书所有者、签名

客户端验证数字签名:

(1)客户端把证书中的各个字段再计算一次校验和,得到checksum1

(2)客户端使用公证机构的公钥,对数字签名进行解密,得到checksum2

(3)对比checksum1和checksum2,若相等,则视为当前证书的各个字段与服务器发出的证书一模一样,可认为是合法证书

三.面试题

在浏览器输入URL后,到最后显示这个页面为止,这期间计算机都做了什么:

1.从网络原理角度

(1)DNS解析

(2)HTTPS:https握手过程

(3)HTTP:浏览器构造http请求,服务器返回http响应

(4)Tcp:Tcp三次握手,确认应答,超时重传

(5)IP:IP如何管理IP地址,如何进行数据转发

(6)数据链路层,以太网

2.从服务器后端开发角度

单机架构

定义前后端交互接口,传输数据

(1)服务器如何处理http请求(Spring)

(2)根据请求计算响应(业务逻辑)

(3)把响应返回客户端(Spring)

分布式系统/微架构服务

(1)网关

(2)分发给应用服务器

(3)分发过程设计服务发现、负载均衡

(4)应用服务器涉及到操作数据库、操作Redis、操作mq

(5)服务器之间通过rpc进行相互调用

相关推荐
xiaoxiangsiyan5 小时前
HCIA 网络技术基础核心模块详解
运维·网络·网络协议·tcp/ip·运维开发·网络基础
2501_916007478 小时前
Bundle ID 注册与管理 App ID 创建指南 命名规则 权限开关与删除注意事项
android·ios·小程序·https·uni-app·iphone·webview
2401_868534789 小时前
存储与虚拟化
linux·网络协议
微硬创新11 小时前
如何让4-20mA信号跑上PROFINET高速路?耐达讯自动化NY-PN-A160C给出答案
人工智能·物联网·网络协议·自动化·信息与通信
kels889912 小时前
实战排坑:黄金实时API开发,XAUUSD Tick报文异常处理实践
开发语言·python·websocket·网络协议·信息可视化
Bobolink_12 小时前
IP更换频率:账号运营里多久换一次IP算正常
大数据·网络协议·tcp/ip
treesforest12 小时前
你的IP干净吗?
网络·网络协议·tcp/ip·跨境电商·ip归属地查询·跨境
sbjdhjd13 小时前
大三网安秋招核心学习前言(AI 安全 + Web 漏洞 + 内网渗透全考点)
人工智能·网络协议·学习·安全·网络安全·开源·php
llllll15213 小时前
深入浅出计算机网络:从 TCP 可靠传输到 DNS 解析核心原理
网络协议·tcp/ip·计算机网络
Misnearch13 小时前
MCP以及底层协议、传输模式
http·mcp·json-rpc