http 80https 443 的那些事

Posted 前端Dream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http 80https 443 的那些事相关的知识,希望对你有一定的参考价值。

1、聊一聊:http和https的区别,为什么https比http更安全呢?


http协议:

HTTP协议(超文本传输协议)被用于在web浏览器和网站服务器之间传递信息,http协议是以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,http协议不适合传输一些敏感信息,比如:银行卡号,密码支付等。

https协议的来源:

为了解决http协议的这一缺陷,需要使用另外一种协议:https协议(超文本传输安全协议),为了数据传输的安全,https在http的基础上加入了SSL协议(安全套接层协议),SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

HTTPS协议的主要作用可以分为两种:

(1)建立一个信息安全通道,来保证数据传输的安全。

(2)确认网站的真实性。


HTTPS和HTTP的区别主要如下:

(1)https协议需要到CA(Certificate Authority证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。
(2)http是超文本传输协议,信息是明文传输;https则是具有安全性的SSL加密传输协议。
(3)http和https使用的是完全不同的连接方式,用的端口也不一样,http默认端口是80,https默认端口是443
(4)http的连接很简单,是无状态的;https协议是由SSL+HTTP协议构成的可进行加密传输、身份认证的网络协议,比http协议安全。



HTTPS的工作原理:



客户端在使用https方式与web服务器通信时有以下几个步骤:

(1)客户端使用https的URL访问web服务器,要求与web服务器建立SSL连接。

(2)web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

(3)客户端的浏览器与web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

(4)客户端的浏览器根据双方同意的安全等级,建立会话秘钥,然后利用网站的公钥将会话秘钥加密,并传送给网站。(5)web服务器利用自己的私钥解密出会话秘钥

(6)web服务器利用会话秘钥与客户端之间的通信。



SSL(安全套接字层 Secure Socket Layer)建立安全会话的简要过程:



(1)协商加密算法。 浏览器A向服务器B发送浏览器的SSL版本号和一些可选的加密算法,B从中选定自己所支持的算法,并告知A。
(2)服务器鉴别。 服务器B向浏览器A发送一个包含其RSA公钥的数字证书,A使用该证书的认证机构CA的公开发布的RSA公钥对该证书进行验证。
(3)会话秘钥计算 。由浏览器A随机产生一个秘密数,用服务器B的RSA公钥进行加密后发送给B。双方根据协商的算法产生一个共享的对称会话密钥。
(4)安全数据传输 。双方用会话密钥加密和解密它们之间传送的数据并验证其完整性。



2、常见状态码:



1xx
通知信息的

2xx
成功
200
3xx
重定向
301、302
4xx 客户端错误
400、403、404、405
5xx
服务器错误
500、502、503


200 ok:请求成功

301 Moved Permanently:永久重定向,就是说资源已经被分配了新的URI 。

302 Found:临时重定向,请求的资源暂时被分配到新的URI。

400 Bad Request 

403 Forbidden:访问被拒绝,没有权限访问。

404 Not Found:服务器找不到请求的资源。

405 Method Not Allow:不被允许,请求方法不正确

500 Internal Server Error :服务器错误,服务器代码有bug

502 :后端正在更新中

503 Service Unavailable:服务器超负载或者正在停机维修,无法处理请求。

以上是关于http 80https 443 的那些事的主要内容,如果未能解决你的问题,请参考以下文章

HTTP与HTTPS握手的那些事

HTTP与HTTPS握手的那些事

HTTPS那些事系列

科技圈那些事:渣男成长记

Gulp的那些事

关于接口自动化的那些事 - 基于 Python