在web开发学习中,我们会很频繁的接触到HTTP这个协议。从概念上来说,超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。通俗来讲,HTTP就是浏览器和服务器进行交互数据时,双方都要遵守的数据格式规范。举个例子,两个人写信,需要都遵守一些规则才能互相看懂对方的意思——开头是对方称呼,结尾是自己的落款,否则数据格式就乱套了,写的信谁也看不懂写的是什么。
而HTTPS又是什么呢,其实HTTPS就是在HTTP的基础上加了个S,也就是“Secure”,即安全。我们知道,HTTP协议本身是没有任何安全考虑的,数据以明文传输,GET方式传递的参数甚至直接就在地址栏上显示出来,即使使用其他方式传参,也能很轻易的就把数据抓包获取到,让一些心怀不轨的人所利用,甚至伪造请求发送一些假数据,所以HTTP的年代,大家都在自己想办法解决数据安全问题,自己加密或者添加校验等,而HTTPS就是用来从根本上解决这个问题的。那么今天我们主要聊一聊 HTTPS 到底安全在哪。

从上图可以看到,HTTPS 就是在 HTTP 下加入了 SSL 层,从而保护了交换数据隐私和完整性,提供对网站服务器身份认证的功能,所以简单来说它就是安全版的 HTTP。
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。现在随着技术的发展,TLS 得到了广泛的应用,关于 SSL 与 TLS 的差别,我们不用在意,只要知道 TLS 是 SSL 的升级版本就好。
一般来说,HTTPS 主要用途有三个:
一是通过证书等信息确认网站的真实性;
二是建立加密的信息通道;
三是数据内容的完整性。

上图就是一个HTTPS的链接打开后的样子,我们可以通过点击浏览器地址栏锁标志来查看网站认证之后的真实信息,SSL证书保证了网站的唯一性与真实性。
那么加密的信息通道又加密了哪些信息呢?
签发证书的 CA 中心会发布一种权威性的电子文档——数字证书,它可以通过加密技术(对称加密与非对称加密)对我们在网上传输的信息进行加密,比如我在 网站 上输入:
账号:cbssfaw
密码:123djaosid
可是这个数据被黑客拦截盗窃了,那么加密后,黑客得到的数据可能就是这样的:
账号:)》﹝’!#﹡﹡
密码:$﹩¯﹔〈〉"“
最后一个就是验证数据的完整性,当数据包经过无数次路由器转发后会发生数据劫持,黑客将数据劫持后进行篡改,比如植入木马。开启HTTPS后黑客就无法对数据进行篡改,就算真的被篡改了,我们也可以检测出问题。
而加密方式分为对称加密和非对称加密两种。
对称加密是指加密与解密的使用同一个密钥的加密算法。目前常见的加密算法有:DES、AES、IDEA 等。
非对称加密使用的是两个密钥,公钥与私钥,我们会使用公钥对网站账号密码等数据进行加密,再用私钥对数据进行解密。这个公钥会发给查看网站的所有人,而私钥是只有网站服务器自己拥有的。目前常见非对称加密算法:RSA,DSA,DH等。
简单的总结一下:
HTTPS和HTTP的区别主要为以下四点:
一、https协议需要到ca申请证书,一般免费证书很少,需要交费。所以现在虽然都在提倡使用HTTPS而淘汰掉HTTP,但是还是有大量的网站由于成本问题,或者数据传输不是那么敏感,所以依旧使用HTTP作为传输协议。
二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。

三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。这个在我们服务器端编程的时候比较重要,因为我们习惯把默认端口设置为80来监听HTTP很久了,所以如果使用了HTTPS的话,要扭转一下观念,不要习惯性的使用80端口了。
四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
通过上文,我们已经知道,HTTPS 就是在 HTTP 传输协议的基础上对网站进行认证,给予它独一无二的身份证明,再对网站数据进行加密,并对传输的数据进行完整性验证。HTTPS 作为一种加密手段不仅加密了数据,还给了网站一张身份证。 总之,HTTPS从各个角度去考虑了怎么让数据传输更安全的问题,这个“S”添加的当之无愧。现在,大家对HTTPS和HTTP的区别有了明确的认识了吧。​

HTTP和HTTPS的区别是什么?相关推荐

  1. HTTP和HTTPS的区别是什么

    1.什么是HTTP? 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.HTTP是客户端浏览器 ...

  2. http和https的区别是什么呢?

    http和https是浏览器和网站服务器之间的一种约定,约定如何将网站服务器中的信息下载到本地通过浏览器展现出来. 这种约定很像我们网上购物的这个过程.我们根据自己的需求确定某个网店下单后,下单的过程 ...

  3. 如何将网站升级为HTTPS协议(整理)

    如何将网站升级为HTTPS协议(整理) 一.总结 一句话总结: 获取证书(有免费有付费):证书是一个二进制文件,里面包含经过认证的网站公钥和一些元数据,要从经销商购买. 安装证书:证书可以放在/etc ...

  4. http和https有什么区别 端口号多少

    HTTP和HTTPS的基本概念 HTTP:超文本传输协议,是在互联网上应用最广泛的一种网络协议.是一个客户端和服务端请求和应答的标准(TCP),用于从WWW(超文本)服务器传输超文本到本地浏览器的传输 ...

  5. 小程序:配置Https服务器(Nginx)

    小程序与普通移动端开发的一个很大的不同之处就在于小程序的ajax 请求是使用https 协议与服务器端进行通信的.所以要开发小程序,首先要搭建https 服务器.这篇文章记录了在nginx 做转发的服 ...

  6. HTML初级知识点总结(1.0)

    HTML初级知识点总结(1.0) HTML相关概念 概念 全称:HyperTextMarkupLanguage,超文本标记语言. 超文本:文字.图片.视频.链接等. 标记:标签. 语言:HTML是一种 ...

  7. Web服务器——Apache相关内容详解

    1.相关名词介绍 1)什么是Web服务器? Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档, 也可以放置网站文件,让全世界浏览:可以放置数据文 ...

  8. http在链接中加入用户名_爬虫基础——HTTP基本原理

    URI和URL URI:统一资源标志符(全称Uniform Resource Identifier ) URL:统一资源定位符(全称Universal Resource Locator ) URL简单 ...

  9. 失业状态,整理一下近期的面试问题 -- 直面自我

    first: 1.先介绍一下自己的过往工作经历. 2.请问前端开发技术html5,能介绍一下它都包含哪些新的东西吗? 3.不需要解释,就说了解还是不了解 ?"不了解" 4.前端存储 ...

最新文章

  1. 1.为什么使用spring boot
  2. 如何学习网络协议(学习笔记)
  3. 利用Excel VBA批量计算气象数据多个台站多年来春季和冬季降水量和平均气温
  4. jquery ajax mysql登录_ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库...
  5. AS3连接MYSQL数据库
  6. Android图片与旋转
  7. C基础--队列的构造
  8. 【POJ 1228】Grandpa's Estate【稳定凸包】
  9. 个人配置--常用软件保护色设置
  10. Douphp cms通杀漏洞(小宇特详解)
  11. 计算机键盘没有fn,键盘Fn键失灵怎么解决?键盘Fn键失灵的修复方法
  12. 解决ueditor编辑器图片在线管理图片无法显示
  13. 读文万卷036期:警戒状态下自发性眼睑闭合与功能磁共振成像动态连接的联系;自闭症患者的胼胝体扩散峰度成像
  14. Linux Snap 命令
  15. 设计模式篇:单例模式
  16. 国六排放法规下的重型车车载终端的革新
  17. 【技能储备】关于自学FreeMarker导出word的那些事
  18. 阿里云ACE深圳同城会 开始报名
  19. 周大侠歌曲计算机,周大侠歌曲歌词
  20. 链接平台负责人对百度绿萝算法的控诉

热门文章

  1. 哪些是计算机应用基金,计算机应用的基金有哪些
  2. CSS3伸缩布局的应用
  3. 动态规划法(五)钢条切割问题(rod cutting problem)
  4. AngularJS国际化配置
  5. 大数据隐私保护技术之脱敏技术
  6. 30 秒裁剪的很大一部分作用是观察什么对别人是重要的
  7. jsp获取SessionID值
  8. 测试SQLServer拆分字符串到临时表
  9. SWT学生成绩管理系统
  10. [导入]最近一直在想这个问题