http需要申请ssl证书吗?

许多小白站长对于http和https之间的关系搞不清楚,从而产生疑惑,为什么我需要申请ssl证书?升级为https不行吗?http需要申请ssl证书吗?让snca来给分析一下为什么现在的站点都需要https。

http是什么?
HTTP超文本传输协议是一个简单的请求-响应协议,在TCP上运行。它指定了客户端可能发送给服务器什么消息以及得到什么样的响应。规定WWW服务器与浏览器之间信息传递规范。
HTTP是基于客户/服务器模式,且面向连接的。典型的HTTP事务处理有如下的过程:
(1)客户与服务器建立连接;(一次性连接)
(2)客户向服务器提出请求;
(3)服务器接受请求,并根据请求返回相应的文件作为应答;
(4)客户与服务器关闭连接。
HTTP是一个客户端和服务器端请求和应答的标准。通过HTTP协议,可以使得信息传递和回复具有同一性,因此,当一个与服务器建立连接的设备向服务器发送请求后,服务器可以快速准确的做出响应。所以,一般将HTTP报文分为请求报文及应答报文,其中请报文含有用户向服务器请求数据的地址以及所要提交的数据,此部分数据较为敏感。

HTTP在最初的使用中表现还不错,那时网页内容与排版简单与单一,几乎没有用户交互的场景。但是互联网的发展以及web2.0的诞生,网页内容与排版越来越精美与丰富,更多的JS交互等被用于网页,那么对于服务器的请求数量也在不断增加,HTTP就有些力不从心。
尤其是许多网站要求用户实名认证,但是钓鱼网站、网站劫持层出不穷,这使得网络中关于用户的数据越来越敏感,网络安全就需要提上日程了。
2017年6月1日《网络安全法》实施,它规定了网络运营者在网络安全方面的义务:应采取防范计算机病毒和网络攻击,网络侵入等危害网络安全行为的技术支持。
HTTP协议规定的数据请求方法有GET. HEAD. POST. PUT.DELETE. TRACE. CONNECT等,其中GET是用来从服务器上获得数据的,而POST是用来向服务器传递数据的。常见的登录、注册场景就采用POST方法来提交数据。在POST方法下,提交的内容会在报文负载中,以明文形式存在,在GET方法下,提交的内容在报文头中的URI里。数据抓包可以看到一些登录场景用户输入的账号密码,很可怕的是,很多人会在不同的网站上使用相同账号密码来方便记忆。(怎么感觉在点名自己,因为密码实在多,且不容易记忆,就一个密码走天下。)
如何规避类似的网络安全风险?
需要网络运营者加强安全防范系统的部署应用-部署https加密传输协议
需要用户能够时刻保持警惕,尽量在不同平台用不同的密码,且定期更改密码
