超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)HTTP是一个客户端(用户)和服务端(网站)之间请求和应答的标准,通常使用TCP协议
客户端通过tcp三次握手与服务器建立连接,四次挥手断开连接;在HTTP 0.9和1.0中,TCP连线在每一次请求/回应对之后关闭。在HTTP 1.1中,引入了保持连线的机制,一个连接可以重复在多个请求/回应使用。持续连线的方式可以大大减少等待时间 需要添加请求头 Connection:keep-alive
提交数据的类型根据 Content-Type 来区分
超文本传输安全协议(英语:HyperText Transfer Protocol Secure,缩写:HTTPS;常称为HTTP over TLS、HTTP over SSL或HTTP Secure) HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
因为多了对数据的加密,和验证的身份过程,比http较慢,但是这个对于安全的取舍是值得的
https是在 http->tls-tcp 在http与tcp之间添加了 一层 tls协议,这个协议是独立的,可以应用在其它的协议之间. https 是在建立握手的阶段是通过非对称加密方式进行通讯的,在传输的阶段依然是使用的是对称加密,因为对称加密的key是在非对称加密阶段产生的,这个是不可能别窃取的
单向认证指的是只有一段效验证书的合法性,一般都是client来效验服务器的合法性,客户端一般为 存方 ca.crt 和服务器存放 server.crt 和 server.key
客户端和服务端都需要互相效验,客户端有 server.crt client.crt client.key ,服务端有 server.key,server.crt ,ca.crt,类似单向认证,每个端都做了依次效验。
首先验证公钥是否是发布者的公钥,然后用公钥对密文进行解密,得到摘要(这个是唯一性),使用发布者对文本同样的摘要算法得到摘要文本,比对摘要是否一致即可确认信息是否被篡改或者是指定发布者发布的。
参考:
维基百科
http://www.enkichen.com/2016/02/26/digital-certificate-based/
原文:https://www.cnblogs.com/nirao/p/10889194.html