http和https的作用与区别

PS: https就是http和TCP之间有一层SSL层,这一层的实际作用是防止钓鱼和加密。防止钓鱼通过网站的证书,网站必须有CA证书,证书类似于一个解密的签名。另外是加密,加密需要一个密钥交换算法,双方通过交换后的密钥加解密。
http与https有什么区别呢?本文详解http和https的区别。
只要上过网的朋友一定接触过“HTTP”,每次开网页的时候,不管是什么网址,其前面都会出现HTTP字样,比如 “http://www.jzxue.com”、“http://62.135.5.7”等等,而有些时候打开如银行等对安全性要求很高的网站的时候其网 址的前缀又会变作“https”,这两个前缀到底是什么意思?有什么作用呢?相信很多用户朋友对此并不了解。下面就由我给大家解释一二。
http的全称是Hypertext Transfer Protocol Vertion (超文本传输协议),说通俗点就是用网络链接传输文本信息的协议,我们现在所看的各类网页就是这个东东。每次开网页时为什么要出现“http://”呢? 其实这个道理非常简单,因为你要获得网络上超文本信息,那么你肯定要遵循其超文本传输的规范,就如同你是“天地会”成员,你和其他“天地会”成员接头时首 先要说出“地震高岗,一派西山千古秀!”和“门朝大海,三合河水万年流”这样的接头暗号,说出后才能和会友进行沟通。所以每次开网页出现的 “http://”就如同上面所讲的接头暗号,当暗号正确后才能获得相关信息。

  看完了上面的解释,或许你已经懂得是为什么每次开网页时要出现“http”了。那么接下来我们再谈谈为什么有时候网页的接头暗号又会变作“https”呢?
  HTTPS的全称是Secure Hypertext Transfer Protocol(安全超文本传输协议),是在http协议基础上增加了使用SSL加密传送信息的协议。我们还是用天地会接头的例子来讲,大家可能觉得每 次天地会接头都是使用“地震高岗,一派西山千古秀!”这类妇孺皆知的接头暗号,这样的组织还有什么安全性可言?只要说出了暗号那么就可能获得天地会的相关 秘密。事实上并不是这样的,如果仅仅是靠一个妇孺皆知的接头暗号进行信息保密,天地会可能早被清兵围剿了,何来那么多传奇故事呢?他们之间的交流除了使用 了接头暗号外,可能还是用了“黑话”,就是一些仅仅只有天地会成员才能听懂的黑话,这样即使天地会成员之间的交谈信息被泄露出去了,没有相关揭秘的东西, 谁也不会知道这些黑话是什么?同样HTTPS协议就如同上面天地会的信息交谈一样,它也将自己需要传输的超文本协议通过SSL加密,让明文变成了“黑话” 即使传输的信息被人捕获,捕获的人也没办法知道其实际内容。

  所以http和https之间的区别就在于其传输的内容是否加密和是否是开发性的内容。这也是你为什么常常看见https开头的网址都是一些类似银行网站的这类网址的原因。

  下面是http和https的概念

  什么是HTTPS: HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议。

  它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的 安全版。 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的安 全全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使 用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。

  HTTPS和HTTP的区别:

  https协议需要到ca申请证书,一般免费证书很少,需要交费。

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

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

  http的连接很简单,是无状态的。

  HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

  HTTPS解决的问题:

  1 . 信任主机的问题. 采用https 的server 必须从CA 申请一个用于证明服务器用途类型的证书. 改证书只有用于对应的server 的时候,客户度才信任次主机。所以目前所有的银行系统网站,关键部分应用都是https 的,客户通过信任该证书,从而信任了该主机,其实这样做效率很低,但是银行更侧重安全。这一点对我们没有任何意义,我们的server 采用的证书不管自己issue 还是从公众的地方issue,客户端都是自己人,所以我们也就肯定信任该server。

  2 . 通讯过程中的数据的泄密和被窜改

  1)一般意义上的https, 就是 server 有一个证书.

  a) 主要目的是保证server 就是他声称的server. 这个跟第一点一样.

  b) 服务端和客户端之间的所有通讯,都是加密的.

  i. 具体讲,是客户端产生一个对称的密钥,通过server 的证书来交换密钥,一般意义上的握手过程。

  ii. 加下来所有的信息往来就都是加密的,第三方即使截获,也没有任何意义,因为他没有密钥,当然窜改也就没有什么意义了。

  2)少许对客户端有要求的情况下,会要求客户端也必须有一个证书。

  a) 这里客户端证书,其实就类似表示个人信息的时候,除了用户名/密码, 还有一个CA 认证过的身份,个人证书一般来说上别人无法模拟的,所有这样能够更深的确认自己的身份。

  b) 目前少数个人银行的专业版是这种做法,具体证书可能是拿U盘作为一个备份的载体。

密钥交换算法

  使用对称加密算法时,密钥交换是个大难题,所以Diffie和Hellman提出了著名的Diffie-Hellman密钥交换算法。

 Diffie-Hellman密钥交换算法原理:
1)Alice与Bob确定两个大素数n和g,这两个数不用保密

(2)Alice选择另一个大随机数x,并计算A如下:A=gx mod n

(3)Alice将A发给Bob

(4)Bob  选择另一个大随机数y,并计算B如下:B=gy mod n

(5)Bob将B发给Alice

(6)计算秘密密钥K1如下:K1=Bx mod n

(7)计算秘密密钥K2如下:K2=Ay mod n

  K1=K2,因此Alice和Bob可以用其进行加解密

RSA加密算法是基于这样的数学事实:两个大素数相乘容易,而对得到的乘积求因子则很难。加密过程如下:

(1)选择两个大素数P、Q
(2)计算N=P*Q
(3)选择一个公钥(加密密钥)E,使其不是(P-1)与(Q-1)的因子
(4)选择私钥(解密密钥)D,满足如下条件:
          (D*E) mod (P-1)(Q-1)=1
(5)加密时,明文PT计算密文CT如下:
          CT=PTE mod N
(6)解密时,从密文CT计算明文PT如下:
          PT=CTDmodN 这也是SSL中会用一种密钥交换算法。

原文地址:https://www.cnblogs.com/smart-girl/p/10481190.html

时间: 2024-10-19 15:52:00

http和https的作用与区别的相关文章

详解http和https的作用与区别

PS: https就是http和TCP之间有一层SSL层,这一层的实际作用是防止钓鱼和加密.防止钓鱼通过网站的证书,网站必须有CA证书,证书类似于一个解密的签名.另外是加密,加密需要一个密钥交换算法,双方通过交换后的密钥加解密. http与https有什么区别呢?本文详解http和https的区别. 只要上过网的朋友一定接触过"HTTP",每次开网页的时候,不管是什么网址,其前面都会出现HTTP字样,比如 "http://www.jzxue.com"."h

HTTPS和HTTP的区别

转自http://www.cnblogs.com/luckyXcc/p/5860431.html 广泛应用于互联网世界的HTTP想必是大家再熟悉不过的了,然而细心的朋友却能发现淘宝.百度.网上银行等页面都是HTTPS开头的,那么这个HTTPS和HTTP有什么区别呢?  说到HTTPS和HTTP的区别,其中最主要的就是安全性上的区别.  HTTPS:HTTP协议的安全加强版,通过在HTTP上建立加密层,对传输数据进行加密.主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全:另一

浅谈项目建议书、可行性研究、项目评估、项目后评价的作用及其区别

笔者通过学习和实践,对建设项目部分前期工作有一定了解,现就"项目建议书"."可行性研究"."项目评估"及"项目后评价"的作用及其区别谈谈一点认识. 一. 项目建议书的主要概念众所周知,项目建议书是建 建设项目前期工作的第一步,它是对拟建项目的轮廓性设想.主要是从客观考察项目建设的必要性,看其是否符合国家长远规划的方针和要求,同时初步分析建设项目条件是否具备,是否值得进一步投入人力.物力作进一步深入研究.从总体上看,项目建议书是

js中的new操作符与Object.create()的作用与区别

js中的new操作符与Object.create()的作用与区别 https://blog.csdn.net/mht1829/article/details/76785231 2017年08月06日 19:19:26 阅读数:1058 一.new 操作符 JavaScript 中 new 的机制实际上和面向类的语言完全不同. 在 JavaScript 中,构造函数只是一些使用 new 操作符时被调用的函数.它们并不会属于某个类,也不会实例化一个类.实际上,它们甚至都不能说是一种特殊的函数类型,它

Model、ModelMap、ModelAndView的作用及区别

Model.ModelMap.ModelAndView的作用及区别 对于MVC框架,控制器controller执行业务逻辑 用于产生模型数据Model 视图view用来渲染模型数据 Model和ModelAndView这两个类在spring的视图解析时作用及区别 1.Model是用来传输数据的,不会进行业务的寻址 2.ModelAndView可以进行业务寻址(就是设置对应的要请求的静态文件,静态文件类似于jsp文件) 最大的区别:Model每一次请求可以自动创建,ModelAndView是需要我

环境变量配置的作用和区别:Path、Classpath、JAVA_HOME

环境变量配置的作用和区别:Path.Classpath.JAVA_HOME 一个是零时配置,另一个是永久性配置. 零时配置的方法: 打开cmd窗口——>输入set命令,回车——>输入set+需要配置的路径——>退出cmd窗口结束. 永久性配置的方法: 右键单击我的电脑——>属性——>高级(右下角环境变量)——>选择新建或者编辑进行环境变量的配置. 配置环境变量的作用: 在任何的路径下都能识别java和javac命令:path 在任何的路径下都能找到我的类class文件:

TCP/IP、Http、Https、Socket的区别

网络由下往上分为物理层.数据链路层.网络层( IP协议).传输层( TCP协议).会话层.表示层和应用层(HTTP协议) 接下来我来说说个人理解其中的TCP/IP.Http.Socket的区别 TCP/IP连接:手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接,TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上.建立起一个TCP连接需要经过“三次握手”:第一次握手:客户端发送syn包(syn=j)到服务器,并进入SY

大神给你分析HTTPS和HTTP的区别(转)

http://www.php100.com/html/it/biancheng/2015/0209/8582.html 今天在做雅虎的时候,发现用第三方工具截取不到客户端与服务端的通讯,以前重来没碰到过这种情况,仔细看了看,它的url请求时基于https的,gg了下发现原来https协议和http有着很大的区别.总的来说,http效率更高,https安全性更高. 首先谈谈什么是HTTPS: HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是

BeanFactory和ApplicationContext的作用和区别

BeanFactory和ApplicationContext的作用和区别 作用: 1. BeanFactory负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期. 2. ApplicationContext除了提供上述BeanFactory所能提供的功能之外,还提供了更完整的框架功能: a. 国际化支持b. 资源访问:Resource rs = ctx. getResource(”classpath:config.properties”),