1.什么是HTTP?
Http(Hyper Text Transfer Protocol),即超文本传输协议。它是在Web上进行数据交换的基础,是一种“客户端-服务器端”协议。简单来说,就是用来规范客户端与服务器之间通信行为的(规定了请求头,请求方法,响应码等等)。HTTP 是应用层协议,是无状态的,默认端口为 80。
无状态:无状态即不记录每次请求的元信息,不记录与之前请求之间的关系。(为解决这个问题,通常会采用服务端的会话管理机制或者cookie来追踪客户端状态)。
响应码:多种响应码代表不同的响应状态,常见的如:200成功,302重定向,404资源不存在,500服务端内部错误。
2.什么是HTTPS?
Https(Hyper Text Transfer Protocol Secure), 即安全的超文本传输协议,在HTTP的基础上使用了SSL/TLS协议进行数据加密和安全认证。简单来说,可以理解为HTTPS = HTTP + SSL/TLS。默认端口号为443.
主要区别总结:
(1)HTTP协议的数据都是未加密的,明文的,不安全。HTTPS则是具有安全性的SSL/TLS加密传输协议。
(2)HTTP的默认端口号为80,HTTPS的默认端口号为443、
(3)HTTP是无状态的。HTTPS协议是可提供数据加密传输,身份认证的网络协议,要比HTTP协议安全。
HTTP与HTTPS的区别总结为一句话就是HTTPS在HTTP的基础上考虑了安全问题,提供了更高的数据安全性。
3.SSL/TLS的工作原理以及握手过程
首先简要说明SSL和TLS的区别,SSL和TLS区别不大,现在主要用的是TLS协议,TLS协议可以理解为高版本的SSL。说明SSL/TLS之前先要理解对称加密和非对称加密。
3.1 对称加密
对称加密是指在加密和解密时使用同一密钥的加密方式。