http和https区别
http与https有什么区别呢?
同学一定接触过“HTTP”,每次开网页的时候,不管是什么网址,其前面都会出现HTTP字样,而有些时候打开如银行等对安全性要求很高的网站的时候其网址的前缀又会变作https
https就是http和TCP(网络七层协议里的传输层-该层为两台主机上的应用程序提供端到端的通信。传输层有两个传输协议:TCP(传输控制协议)和 UDP(用户数据报协议)。其中,TCP是一个可靠的面向连接的协议,UDP是不可靠的或者说无连接的协议),https就是http和TCP中多了一层SSL层(就是SSL协议),通常 HTTP 直接与 TCP 进行通信,当使用 SSL 协议时则先与 SSL 通信,通过 SSL 和 TCP 通信这一层的实际作用是防止钓鱼和加密。防止钓鱼通过网站的证书,网站必须有CA证书(CA也称作——证书认证机构),证书类似于一个解密的签名。另外是加密,加密需要一个密钥交换算法,双方通过交换后的密钥加解密。
http也叫做(超文本传输协议),超文本传输协议可以进行文字分割:超文本(Hypertext)、传输(Transfer)、协议(Protocol)。
按照范围的大小 协议 > 传输 > 超文本。
- List item
什么是超文本
在互联网早期的时候,我们输入的信息只能保存在本地,无法和其他电脑进行交互。我们保存的信息通常都以文本即简单字符的形式存在,文本是一种能够被计算机解析的有意义的二进制数据包。而随着互联网的高速发展,两台电脑之间能够进行数据的传输后,人们不满足只能在两台电脑之间传输文字,还想要传输图片、音频、视频,甚至点击文字或图片能够进行超链接的跳转,那么文本的语义就被扩大了,这种语义扩大后的文本就被称为超文本(Hypertext)。
什么是传输
两台计算机之间会形成互联关系进行通信,我们存储的超文本会被解析成为二进制数据包,由传输载体负责把二进制数据包由计算机终端传输到另一个终端的过程
那么网络协议是什么呢?
网络协议就是网络中(包括互联网)传递、管理信息的一些规范。如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间的相互通信需要共同遵守一定的规则,这些规则就称为网络协议。
总结一下: HTTP 就是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。
HTTP特点:
1.无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作
2.无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量。 3. 基于请求和响应:基本的特性,由客户端发起请求,服务端响应
4. 简单快速、灵活
5.通信使用明文、请求和响应不会对通信方进行确认、无法保护数据的完整性
什么是HTTPS: HTTPS就是安全超文本传输协议。
https(安全超文本传输协议),是在http协议基础上增加了使用SSL加密传送信息的协议。它也将自己需要传输的超文本协议通过SSL加密,让明文变成了“黑话” 即使传输的信息被人捕获,捕获的人也没办法知道其实际内容。所以http和https之间的区别就在于其传输的内容是否加密和是否是开发性的内容。
HTTP特点
基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护
具体就是:
内容加密:采用混合加密技术,中间者无法直接查看明文内容
验证身份:通过证书认证客户端访问的是自己的服务器
保护数据完整性:防止传输的内容被中间人冒充或者篡改
HTTPS和HTTP的区别:
- https协议需要到 CA 申请证书,一般免费证书很少,需要交费。
- http是超文本传输协议,信息是明文传输,https 则是具有安全性的SSL加密传输协议。
- http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。
- http的连接很简单,是无状态的。
- https协议是由SSL+http协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。