一文讲解 HTTPHTTPS
Posted 互联网求职派
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一文讲解 HTTPHTTPS相关的知识,希望对你有一定的参考价值。
求 职 派
精
选
真
题
今天多看一道题,明天 offer ssp
HTTP、HTTPS 篇
一道无论后台还是前端都爱问的题
本篇文章从面试常考角度做了介绍,具体实现细节可以查阅相关参考书或 RFC 文档
HTTP/1.0:https://tools.ietf.org/html/rfc1945
HTTP/2:https://http2.github.io/http2-spec/
SSL/TLS:https://tools.ietf.org/html/rfc5246
1
HTTP、HTTPS 基础知识
HTTPS = HTTP + SSL/TLS
一、含义解释
1、HTTP:
(1)HyperText Transfer Protocol
(2)超文本传输协议
(3)传输未加密的明文数据
2、SSL:
(1)Secure Sockets Layer
(2)安全套接层
TLS:
(1)Transport Layer Security
(2)安全传输层
3、HTTPS:
(1)HTTP over SSL/TLS
(2)两大特点:加密传输、身份认证
(3)加密传输为:使用安全的数据通道,保证数据安全;身份认证为:使用 SSL 证书信用链体系
二、HTTP 作用过程
HTTP 是万维网(Web)的基础
图 1 Web 客户端 - 服务器结构
1、Web 客户端(通常称为浏览器)与 Web 服务器 使用一个或多个 TCP 连接进行通信
2、知名的Web 服务器端口是 TCP 的80号端口
3、Web浏览时客户端与服务器在 TCP 连接上进行通信,所采用的 协议就是本篇描述的 HTTP协议。[关于TCP/IP 的讲解见前述文章]
三、SSL/TLS 作用过程
1、基本思路是采用公钥加密法,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密
2、基本过程为:
(1) 客户端向服务器端索要并验证公钥
(2) 双方协商生成"对话密钥"
(3) 双方采用"对话密钥"进行加密通信
四、HTTPS 作用过程
1、TCP 三次同步握手
2、客户端验证服务器数字证书
3、DH 算法协商对称加密算法的密钥、hash 算法的密钥
4、SSL 安全加密隧道协商完成
5、网页以加密的方式传输,用协商的对称加密算法和密钥加密,保证数据机密性;用协商的hash算法进行数据完整性保护,保证数据不被篡改。
2
HTTP、HTTPS 比对
一、两者区别
图 2 HTTP、HTTPS 端口和协议关系区别
1、HTTP 默认工作在 TCP 协议 80 端口,用户访问网站 http:// 打头的都是标准 HTTP 服务;HTTPS 默认工作在 TCP 协议 443 端口,网站为 https:// 打头
2、HTTP 明文传输,数据未加密,安全性较差;HTTPS 数据传输过程是加密的,安全性较好
3、在 OSI 七层网络模型中,HTTP 工作于应用层,HTTPS 工作于传输层
4、HTTP 无需证书,而 HTTPS 需要认证证书
二、共同点
1、两者采用同样的基础的协议
2、主要流程均为浏览器与 Web 服务器的指定端口建立一条连接,服务器接收到请求时返回一个状态码以及消息,这个回应可能是请求信息、或者指示某个错误发送的错误信息,系统使用统一资源定位器 URI 实现资源位置唯一指定
3
HTTPS 缺点
前面介绍了 HTTPS 各项优于 HTTP 的方面,这里给出它的一些缺点
一、技术层面
1、使页面加载时间延长 50%,并会增加 10% ~ 20% 耗电
2、安全性有限,对于以下场景失去防护:黑客攻击、拒绝服务器攻击、服务器劫持等
3、SSL 证书信用链体系并不完善,特别是有些国家可以控制 CA 根证书
二、成本层面
1、SSL 的专业证书需要购买,功能越强则价格越高
2、要绑定固定 IP,到增服务器增加了固定 IP 费用
3、HTTPS 连接服务器端占资源较多,带宽成本增加
4
备注
本篇主要给出了 HTTP、HTTPS 两者交叉的面试点,下一篇相关文章将会围绕 HTTP/1.0、HTTP/1.1 及请求、响应内部内容进行说明
点击阅读原文,可以阅读前述 TCP/IP 讲解文章
面经 | 求职
原创内容:Mila
排版:Mila
如需转载请联系授权
以上是关于一文讲解 HTTPHTTPS的主要内容,如果未能解决你的问题,请参考以下文章