一、什么是HTTP? 什么是HTTPS? 

  HTTP:(Hyper Text Transfer Protocol 超文本传输协议)

  HTTPS:(Hyper Text Transfer Protocol 超文本传输安全协议)

  HTTP百度百科解释:设计HTTP的最初目的是为了提供一种发布和接收HTML页面的方法。

  HTTPS百度百科解释:是以安全为目标的HTTP通道,简单来讲是HTTP的安全版。HTTP的安全基础是SSL,因为加密的详细内容需要SSL。

    SSL:SSL(Secure Sockets Layer安全套接层),及其继任者TLS(Transport Layer Security 传输层安全)是为网路通信提供安全及数据完整的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

二、两者有什么区别? 

  1、https协议需要到ca申请证书

  2、http是超文本传输协议,信息是明文传输的,https则具有ssl加密传输协议。

  3、http和https是完全不同的连接方式,端口也不一样,前者是80,后者是443。

  4、http的连接很简单,是无状态性的;https协议是由ssl+http协议构建的进行加密传输、身份验证的网络协议,比http协议安全。

三、HTTPS的工作原理

  客户端在使用HTTPS方式与web通信时有以下几个步骤:  

  (1) 客户端使用https的url访问web服务器,要求与服务器建立ssl连接。

  (2) web服务器收到客户端请求后,会将网站的证书信息(证书包含公钥)传送一份给客户端。

  (3) 客户端的浏览器与web服务器开始协商ssl连接的安全等级,也就是信息加密等级。

  (4) 客户端的浏览器根据双方同意的安全等级,建立会话秘钥,然后利用网站的公钥将会话秘钥加密,并传送给网站。

  (5) web服务器利用自己的私钥解密出会话秘钥。

  (6) web服务器利用会话秘钥加密与客户端之间的通信。

  

四、HTTPS的优点

  https并非绝对安全,掌握证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击,但是https仍是当下最流行,一下为解决方案

  1、可以认证用户和服务器,确保数据发送到正确的客户机和服务器。

  2、加密传输,要比http安全,可以防止数据在传输过程中不被窃取、改变。

  3、当下最流行,虽然不是绝对安全,但是也大幅增加了中间人的攻击成本。

  4、Google在2014年8月调整搜索引擎算法,并称“同等网站,采用https加密的网站在搜索结果中排名会更高”

五、HTTPS的缺点

  https虽有很大优势,但也存在不足之处

  1、握手费时、会使页面加载时间延长50%,增加10%~20%的耗电。

  2、不如http连接高效,会增加数据开销和功耗,甚至已有安全措施也会受到影响。

  3、需要钱

  4、需要绑定IP,并且不能在同一个IP上绑定多个域名,IPv4资源不可能职称这一消耗。

  5、加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。

最关键的SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA的情况下,中间人攻击一样可行。

六、HTTP切换到HTTPS

  1、将所有的页面链接由http切换到https。

  BTW,这里虽然将http切换为了https,还是建议保留http。所以我们在切换的时候可以做http和https的兼容,具体实现方式是,去掉页面链接中的http头部,

这样可以自动匹配http头和https头。例如:将http://www.baidu.com改为//www.baidu.com。然后当用户从http的入口进入访问页面时,页面就是http,如果用户是

从https的入口进入访问页面,页面即使https的。

HTTP与HTTPS(转)的更多相关文章

  1. 【流量劫持】躲避 HSTS 的 HTTPS 劫持

    前言 HSTS 的出现,对 HTTPS 劫持带来莫大的挑战. 不过,HSTS 也不是万能的,它只能解决 SSLStrip 这类劫持方式.但仔细想想,SSLStrip 这种算劫持吗? 劫持 vs 钓鱼 ...

  2. HTTPS 互联网世界的安全基础

    近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...

  3. 7.让网站支持http和https的访问方式

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html#iis 怎么让网站在本地支持SSL?http://www.c ...

  4. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

  5. 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS

    一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提 ...

  6. WebAPi之SelfHost自创建证书启动Https疑难解惑及无法正确返回结果

    前言 话说又来需求了,之前对于在SelfHost中需要嵌套页面并操作为非正常需求,这回来正常需求了,客户端现在加了https,老大过来说WebAPi访问不了了,这是什么情况,我去试了试,还真是这个情况 ...

  7. 苹果强制使用HTTPS传输了怎么办?——关于HTTPS,APP开发者必须知道的事

    WeTest 导读 2017年1月1日起,苹果公司将强制使用HTTPS协议传输.本文通过对HTTPS基础原理和通信过程内容的讲解,介绍APP开发者在这个背景下的应对办法. 几周前,我们在<htt ...

  8. 【原创】免费申请SSL证书【用于HTTPS,即是把网站从HTTP改为HTTPS,加密传输数据,保护敏感数据】

    今天公司有个网站需要改用https访问,所以就用到SSL证书.由于沃通(以前我是在这里申请的)暂停了免费的SSL证书之后,其网站推荐了新的一个网站来申请证书,所以,今天因为刚好又要申请一个证书,所以, ...

  9. https 安全验证问题

    最近为了满足苹果的 https 要求, 经过努力终于写出了方法 验证 SSL 证书是否满足 ATS 要求 nscurl --ats-diagnostics --verbose https://你的域名 ...

  10. Ubuntu下配置apache开启https

    一.HTTPS简述随着网络的日常,信息安全越来越重要,传统的网站都是http协议明文传输,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比http协议安全. 那ht ...

随机推荐

  1. 非常易于理解‘类'与'对象’ 间 属性 引用关系,暨《Python 中的引用和类属性的初步理解》读后感

    关键字:名称,名称空间,引用,指针,指针类型的指针(即指向指针的指针) 我读完后的理解总结: 1. 我们知道,python中的变量的赋值操作,变量其实就是一个名称name,赋值就是将name引用到一个 ...

  2. 解决vue数据渲染过程中的闪动问题

    关键代码 主要解决vue双大括号{{}}在数据渲染和加载过程中的闪动问题,而影响客服体验. html代码: <span class="tableTitle selftab" ...

  3. Eclipse常用快捷键速记

    补充 15 个 Eclipse 常用开发快捷键使用技巧 1.alt+? 或 alt+/:自动补全代码或者提示代码 2.ctrl+o:快速outline视图 3.ctrl+shift+r:打开资源列表 ...

  4. jsp内置对象-config对象

    1.概念:config对象中存储了一些Servlet初始化的数据结构,当Servlet初始化时,JSP容器通过config对象将这些信息传递给这个Servlet.一般在web.xml文件中配置Serv ...

  5. Windows环境npm无法生效

    上网查询得知安装完nodejs之后配置windows环境变量只能保证在命令行工具中可以使用npm,如果想在git bash中使用需要再安装一遍 安装后记得配置环境变量

  6. linux 子系统折腾记 (三)

    所以说,英文真是个好东西,很多资料都只有英文版本,要是不懂英文,甚至你不知道这个资料的存在,更别提用蹩脚的翻译软件去翻译了. wsl 的资料:https://docs.microsoft.com/zh ...

  7. Linux ssh登陆慢的两种原因分析

    Linux ssh登陆慢的两种原因分析 如果做运维就一定会遇到ssh登陆Linux服务器慢的问题,问题比较好解决,一般Google之后有很多文章都告诉你解决方法,但是很少有文章分析为什么会慢,这篇文章 ...

  8. MySQL存储引擎InnoDB与MyISAM的区别

    一.比较 事务:InnoDB是事务型的,可以使用Commit和Rollback语句. 并发:MyISAM只支持表级锁,InnoDB还支持行级锁. 外键:InnoDB支持外键. 备份:InnoDB支持在 ...

  9. Python之操作HBASE数据库

    目前有两个库可以操作HBASE:hbase-thrift 和  happybase happybase使用起来比较简单方便,因此重点学习该库,hbase-thrift只做简要介绍. (一)hbase- ...

  10. PHP九大接口视频教程( 支付宝,QQ,短信接口,微信接口开发, 支付宝即时到账接口开发三级分销全套)

    PHP九大接口视频教程(  支付宝,QQ,短信接口,微信接口开发, 支付宝即时到账接口开发三级分销全套) 需要的联系我:QQ: 1844912514 PHP九大接口视频教程(  支付宝,QQ,短信接口 ...