网址(域名)就是IP地址的别名,就是为了能够方便客户端与服务器端的交互。
WEB服务存在http和https两种通信方式,两种通信方式有什么区别:
1、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
2、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
3、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
4、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
HTTPS的加密过程
HTTPS顾名思义,就是http加上ssl,首先先介绍http通信过程:
http:client hello和server hello在通讯的过程中,以明文的形式进行传输,采用wireshark抓包的效果如下图:
HTTP的确是使用TCP建立连接的。TCP虽然可靠,但是却不安全,从上图就可以看出来,信息完全是暴露在外面的,很容易被别人得到,最关键的是别人可以劫持和篡改信息。
为了保护信息,可以请求信息的时候采用了TLS加密,如果没有秘钥是无法解析传输的是什么信息的。信息通信采用http是不安全的,存在信息劫持、篡改的风险,https是加密传输,是安全的通信,对于加密传输存在对称加密和非对称加密,对于https加密的过程,采用对称加密进行通信存在秘钥协商过程的不安全性,因此我们采用了非对称加密算法解决了对协商过程的加密,因此https是集对称加密和非对称加密为一体的加密过程:
但是前提是两个人都有公钥的情况下才可以,这时又遇到新问题了,如何让A、B客户端安全地得到公钥?
client获取公钥最最直接的方法是服务器端server将公钥发送给每一个client用户,但这个时候就出现了公钥被劫持的问题, 那就需要用到终极武器了:SSL 证书(需要购买)和CA机构