http与https的区别

1.什么是http和https

http:这是互联网上应用最为广泛发一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的 传输协议,他可以可以使浏览器更加的高效。
通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。我们称这个客户端为用户代理程序(user agent)。应答的服务器上存储着一些资源,比如HTML文件和图像。我们称这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个“中间层”,比如代理服务器、网关或者隧道(tunnel)

https:是以安全为目标的HTTP通道,简单来说就是HTTP的安全版,在HTPP的基础下加入了SSL层,所以HTTPS的安全基础是SSL,加密的详细内容就需要SSL。
他的主要作用可以分为两种
1.建立一个信息安全的通道,用来保证数据传输的安全
2.确认网站的真实性

2.两者有什么区别

HTTP协议传输的数据都是未加密的,也就是明文的,所以使用HTTP协议传输隐私信息非常的不安全,为了保证隐私信息的安全传输。网景公司设计了SSL协议进行HTTP协议传输数据的加密,由此诞生了HTTPS。两者的区别在于:
1.https协议需要用到ca申请证书,一般来说是需要一定费用的。
2.http协议是超文本传输协议,信息属于明文传输,https是具有安全性的ssl加密传输协议
3.http和https使用的是两种完全不同的连接方式,用的端口也不一样,前者是80,后者是443
4.http的连接很简单,是无状态的;HTTPS协议是由HTTP+SSL协议共同构建的可以加密,身份认证的网络协议,安全性高很多。

3.HTTPS的工作原理

1.客户端发起HTTPS请求
用户在浏览器中输入网址。连接到服务器的443端口
2.服务端的配置
采用HTTPS的服务器需要由一套数字证书,可以自己制作,也可以向组织申请。
这套证书其实就是一对公钥和私钥,如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。
3.传输证书
这个证书其实就是公钥,里面包含了很多例如证书颁发机构
4.客户端解析证书
先确定证书是否有问题,如果证书有效那么就会生成一个随机值,然后用证书对这个随机值加密,把随机值用锁头锁起来,这样除非有钥匙,否则看不到被锁住的内容。
5.传送加密信息
这部分传送的是用于证书加密的随机值,让服务端得到这个随机值,这样的话服务端和客户端就能依靠这个随机值来进行加密解密了。
6.服务端解密信息
服务端用私钥解密之后,得到了客户端传过来的随机值(私钥),然后把内容通过这个值进行对称加密,也就是将信息和私钥混合在一起进行算法加密,只有知道私钥才能获取到相应内容,这样就能保证数据足够的安全。
7.传输加密后的信息
这部分信息是服务端用私钥加密后的信息,在客户端可以被还原
8.客户端解密信息
客户端用私钥解密服务端传送过来的信息,这样保证了即使信息被截取,第三方也将束手无策。

你可能感兴趣的:(http与https的区别)