HTTP与HTTPs的区别
HTTP与HTTPs的区别呢?有人可能说,不就多了个s么!对,确实只是多了个s,但是因为这个s,后者比前者功能更强大,而且前者免费,后者收费。
一、HTTP是什么
- HTTP是超文本传输协议(Hyper Text Transfer Protocol)。是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
- HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)
- HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
二、HTTPs是什么
HTTPs也是超文本传输协议,但是它是具有安全性的ssl加密传输协议。
三、为何要使用HTTPs ?
HTTP的缺点:
- 通信使用明文,内容可能被窃听(重要密码泄露)
- 不验证通信方身份,有可能遭遇伪装(跨站点请求伪造)
- 无法证明报文的完整性,有可能已遭篡改(运营商劫持)
HTTPs能够解决那些问题 ?
https是在http协议基础上加入加密处理和认证机制以及完整性保护,即http+加密+认证+完整性保护=https
https并非应用层的一种新协议,只是http通信接口部分用ssl/tls协议代替而已。通常http直接和tcp通信,当使用ssl时则演变成先和ssl通信,再由ssl和tcp通信。
所谓https,其实就是身披ssl协议这层外壳的http
四、ssl/tls协议是什么?
SSL 是“Secure Sockets Layer”的缩写,中文叫做“安全套接层”。它是在上世纪90年代中期,由网景公司设计的。
为啥要发明 SSL 这个协议?因为原先互联网上使用的 HTTP 协议是明文的,存在很多缺点——比如传输内容会被偷窥(嗅探)和篡改。发明 SSL 协议,就是为了解决这些问题
SSL 因为应用广泛,已经成为互联网上的事实标准。IETF 就在那年把 SSL 标准化。标准化之后的名称改为 TLS(是“Transport Layer Security”的缩写),中文叫做“传输层安全协议”。
所以这两者其实就是同一种协议,只不过是在不同阶段的不同称呼。
五、总结HTTP与HTTPs的区别
- https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
- http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
- http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
- http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。