https是加密传输么
2018年8月31日
我们都知道http是通过明文传输的,信息容易被窃取和监控,如今很多网站都换成了https的传输方式,那么https是加密传输的吗?
答案是肯定的,https就是secure http的意思,也就是http的安全升级版。稍微了解网络基础的朋友都知道,http是应用层协议,TCP协议负责传输,http则定义了数据如何进行包装。
http协议被用于在Web浏览器和网站服务器之间传递信息。http协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。
一般来说,http主要用途有三个:一是通过证书等信息确认网站的真实性;二是建立加密的信息通道;三是数据内容的完整性。
假设你坐在一个教室里,你现在非常想把某个信息传递给教室里的另一个人,一般来说,会选择,传纸条。传纸条这个比喻其实非常正确,这就是互联网的一个基础协议TCP/IP协议基本的工作模式。而通常,http协议的数据是使用TCP/IP协议进行发送的。
http指的是你在纸条上写明你要传送的目的地是哪个同学的坐位,然后再是要传递的内容。途径的同学拿到纸条后根据纸条上显示的地址依次传过去就好了。这样要面临的问题就是,传输中间的同学完全可以知道你写了什么。
为了解决http协议的这一缺陷,为了数据传输的安全,https在http的基础上加入了ssl协议,ssl依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
采用https的服务器必须从CA机构申请一个用于证明服务器用途类型的证书。该证书只有用于对应的服务器的时候,客户端才信任此主机。