精华内容
下载资源
问答
  • http和https区别

    2021-03-31 15:33:32
    http和https区别 http与https有什么区别呢? 同学一定接触过“HTTP”,每次开网页的时候,不管是什么网址,其前面都会出现HTTP字样,而有些时候打开如银行等对安全性要求很高的网站的时候其网址的前缀又会变作https ...

    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的区别:

    1. https协议需要到 CA 申请证书,一般免费证书很少,需要交费。
    2. http是超文本传输协议,信息是明文传输,https 则是具有安全性的SSL加密传输协议。
    3. http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。
    4. http的连接很简单,是无状态的。
    5. https协议是由SSL+http协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
    展开全文
  • 简述http和https区别

    2021-10-16 14:39:46
    http协议和https协议的区别主要是:传输信息安全性不同、连接方式不同、端口不同、证书申请方式不同 一、传输信息安全性不同 http协议:是超文本传输协议,信息是明文传输。如果攻击者截取了Web浏览器网站服务器...

    http协议和https协议的区别主要是:传输信息安全性不同、连接方式不同、端口不同、证书申请方式不同

    一、传输信息安全性不同

    • http协议:是超文本传输协议,信息是明文传输。如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。
    • https协议:是具有安全性的ssl加密传输协议,为浏览器和服务器之间的通信加密,确保数据传输的安全。

    二、连接方式不同

    • http协议:http的连接很简单,是无状态的。
    • https协议:是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。

    三、端口不同

    • http协议:使用的端口是80
    • https协议:使用的端口是443

    四、证书申请方式不同

    • http协议:免费申请。
    • https协议:需要到ca申请证书,一般免费证书很少,需要交费。
    展开全文
  • HTTP和HTTPS区别

    2021-03-11 14:08:32
    设计Http最初的目的是为了提供一种发布接收HTML页面的方法。它可以使浏览器更加高效。Http协议是以明文方式发送信息的,如果黑客截取了Web浏览器服务器之间的传输报文,就可以直接获得其中的信息。 Https: 是...

    一般我们在开发阶段用http传输协议,上线阶段就用https传输协议
    Http:

    超文本传输协议(Http,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。设计Http最初的目的是为了提供一种发布和接收HTML页面的方法。它可以使浏览器更加高效。Http协议是以明文方式发送信息的,如果黑客截取了Web浏览器和服务器之间的传输报文,就可以直接获得其中的信息。

    Https:

    是以安全为目标的Http通道,是Http的安全版。Https的安全基础是SSL。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议(SSL Record Protocol),它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSL Handshake Protocol),它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

    HTTP与HTTPS的区别

    1、HTTP是超文本传输协议,信息是明文传输,HTTPS是具有安全性的SSL加密传输协议
    2、HTTPS协议需要ca申请证书
    3、HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样。前者是80,后者是443
    4、HTTP连接是无状态的,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,安全性高于HTTP协议

    https的优点:

    1、使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器
    2、HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性
    3、HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本
    4、谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”

    http切换到HTTPS
     如果需要将网站从http切换到https到底该如何实现呢?

    这里需要将页面中所有的链接,例如js,css,图片等等链接都由http改为https。例如:http://www.baidu.com改为https://www.baidu.com
    BTW,这里虽然将http切换为了https,还是建议保留http。所以我们在切换的时候可以做http和https的兼容,具体实现方式是,去掉页面链接中的http头部,这样可以自动匹配http头和https头。例如:将http://www.baidu.com改为//www.baidu.com。然后当用户从http的入口进入访问页面时,页面就是http,如果用户是从https的入口进入访问页面,页面即使https的。

    展开全文
  • https是在http协议基础上加入加密处理认证机制以及完整性保护,即http+加密+认证+完整性保护=https https并非应用层的一种新协议,只是http通信接口部分用ssl/tls协议代替而已。通常http直接tcp通信,当使用ssl...

    http协议的缺点

    • 通信使用明文,内容可能被窃听(重要密码泄露)
    • 不验证通信方身份,有可能遭遇伪装(跨站点请求伪造)
    • 无法证明报文的完整性,有可能已遭篡改(运营商劫持)

    用https能解决这些问题么?

    https是在http协议基础上加入加密处理和认证机制以及完整性保护,即http+加密+认证+完整性保护=https
    https并非应用层的一种新协议,只是http通信接口部分用ssl/tls协议代替而已。通常http直接和tcp通信,当使用ssl时则演变成先和ssl通信,再由ssl和tcp通信。
    所谓https,其实就是身披ssl协议这层外壳的http

    SSL/TLS是什么?

    SSL 是“Secure Sockets Layer”的缩写,中文叫做“安全套接层”。它是在上世纪90年代中期,由网景公司设计的。
    为啥要发明 SSL 这个协议?因为原先互联网上使用的 HTTP 协议是明文的,存在很多缺点——比如传输内容会被偷窥(嗅探)和篡改。发明 SSL 协议,就是为了解决这些问题。
    到了1999年,SSL 因为应用广泛,已经成为互联网上的事实标准。IETF 就在那年把 SSL 标准化。标准化之后的名称改为 TLS(是“Transport Layer Security”的缩写),中文叫做“传输层安全协议”。
    所以这两者其实就是同一种协议,只不过是在不同阶段的不同称呼。

    SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:
    SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。
    SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

    对称秘钥加密和非对称秘钥加密

    对称密钥加密,又称私钥加密,即信息的发送方和接收方用同一个密钥去加密和解密数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。
    非对称密钥加密,又称公钥加密,它需要使用一对密钥来分别完成加密和解密操作,一个公开发布,即公开密钥,另一个由用户自己秘密保存,即私用密钥。信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。
    从功能角度而言非对称加密比对称加密功能强大,但加密和解密速度却比对称密钥加密慢得多。
    非对称密钥通信过程

    SSL/TLS协议基本原理

    SSL/TLS协议的基本思路是采用公钥加密法,也就是说,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密,但是这里有两个问题:


    (1)、如何保证公钥不被篡改?
    解决方法:将公钥放在数字证书中,只要证书是可信的,公钥就是可信的。


    (2)、公钥加密计算量太大,如何减少耗用的时间?
    解决方法:每一次对话(session),客户端和服务器端都生成一个"对话密钥"(session key),用它来加密信息。由于"对话密钥"是对称加密,所以运算速度非常快,而服务器公钥只用于加密"对话密钥"本身,这样就减少了加密运算的消耗时间。

    因此,SSL/TLS协议的基本过程是这样的:

    1. 客户端向服务器端索要并验证公钥。
    2. 双方协商生成“对话密钥”。
    3. 双方采用“对话密钥”进行加密通信。

    具体过程可参考下面的栗子
    假定客户端叫做爱丽丝,服务器叫做鲍勃,整个握手过程可以用下图说明


    第一步,爱丽丝给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法,具体的加密方法可参考SSL证书背后的加密算法
    第二步,鲍勃确认双方使用的加密方法,并给出数字证书、以及一个服务器生成的随机数(Server random)。
    第三步,爱丽丝确认数字证书有效,然后生成一个新的随机数(Premaster secret),并使用数字证书中的公钥,加密这个随机数,发给鲍勃。
    第四步,鲍勃使用自己的私钥,获取爱丽丝发来的随机数(即Premaster secret)。
    第五步,爱丽丝和鲍勃根据约定的加密方法,使用前面的三个随机数,生成"对话密钥"(session key),用来加密接下来的整个对话过程。

    HTTPS工作原理

    1、客户端发起HTTPS请求
    用户在浏览器里输入一个https网址,然后连接到server的443端口。


    2、服务端的配置
    采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面。


    3、传送证书
    这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。


    4、客户端解析证书
    这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。


    (1)首先浏览器读取证书中的证书所有者、有效期等信息进行一一校验


    (2)浏览器开始查找操作系统中已内置的受信任的证书发布机构CA,与服务器发来的证书中的颁发者CA比对,用于校验证书是否为合法机构颁发


    (3)如果找不到,浏览器就会报错,说明服务器发来的证书是不可信任的。


    (4)如果找到,那么浏览器就会从操作系统中取出颁发者CA 的公钥(多数浏览器开发商发布版本时,会事先在内部植入常用认证机关的公开密钥),然后对服务器发来的证书里面的签名进行解密


    (5)浏览器使用相同的hash算法计算出服务器发来的证书的hash值,将这个计算的hash值与证书中签名做对比


    (6)对比结果一致,则证明服务器发来的证书合法,没有被冒充


    (7)此时浏览器就可以读取证书中的公钥,用于后续加密了


    5、传送加密信息
    这部分传送的是用证书加密后的随机值(私钥),目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。


    6、服务端解密信息
    服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密


    7、传输加密后的信息
    这部分信息是服务端用私钥加密后的信息,可以在客户端被还原。


    8、客户端解密信息
    客户端用之前生成的私钥解密服务端传过来的信息,于是获取了解密后的内容,整个过程第三方即使监听到了数据,也束手无策。
    原理如下图

    总结HTTP和HTTPS区别如下

    1. https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
    2. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
    3. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
    4. http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

    如何配置https

    配置https最重要的是配置ssl证书,配置SSL证书可以参考SSL证书部署指南
    这里我们以自签证书来演示:

    • 生成自签证书
    • 生成私钥文件

    sudo openssl genrsa -out server.key 2048

    • 生成自签证书文件

    sudo openssl req -new -x509 -days 1826 -key server.key -out server.crt

    • 修改apache配置

    apache2.4

    • 需开启的模块

    LoadModule ssl_module libexec/apache2/mod_ssl.so
    LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so

    sudo vim httpd-ssl.conf

    <VirtualHost *:443>
        DocumentRoot "/var/www/html"
        ServerName www.domain.com:443
        SSLEngine on
        SSLCertificateFile /usr/local/apache/conf/server.crt #添加证书文件
        SSLCertificateKeyFile /usr/local/apache/conf/server.key #添加私钥文件
    </VirtualHost>
    
    • 检测配置文件是否有错误

    sudo apachectl configtest

    • 重启apache

    sudo apachectl restart

    Fiddler/Charles是如何监听HTTPS?

    第一步,Fiddler截获客户端发送给服务器的HTTPS请求,Fiddler伪装成客户端向服务器发送请求进行握手 。


    第二步,服务器发回相应,Fiddler获取到服务器的CA证书, 用根证书(这里的根证书是CA认证中心给自己颁发的证书)公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。然后Fiddler伪造自己的CA证书(这里的CA证书,也是根证书,只不过是Fiddler伪造的根证书), 冒充服务器证书传递给客户端浏览器。


    第三步,与普通过程中客户端的操作相同,客户端根据返回的数据进行证书校验、生成密码Pre_master、用Fiddler伪造的证书公钥加密,并生成HTTPS通信用的对称密钥enc_key。


    第四步,客户端将重要信息传递给服务器, 又被Fiddler截获。Fiddler将截获的密文用自己伪造证书的私钥解开, 获得并计算得到HTTPS通信用的对称密钥enc_key。Fiddler将对称密钥用服务器证书公钥加密传递给服务器。


    第五步,与普通过程中服务器端的操作相同,服务器用私钥解开后建立信任,然后再发送加密的握手消息给客户端。


    第六步,Fiddler截获服务器发送的密文, 用对称密钥解开, 再用自己伪造证书的私钥加密传给客户端。


    第七步,客户端拿到加密信息后,用公钥解开,验证HASH。握手过程正式完成,客户端与服务器端就这样建立了”信任“。

     

    在之后的正常加密通信过程中,Fiddler如何在服务器与客户端之间充当第三者呢?


    服务器—>客户端:Fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端。


    客户端—>服务端:客户端用对称密钥加密,被Fiddler截获后,解密获得明文。再次加密,发送给服务器端。由于Fiddler一直拥有通信用对称密钥enc_key, 所以在整个HTTPS通信过程中信息对其透明。

     

    展开全文
  • http和https区别

    2021-02-20 11:03:59
     为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPSHTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器服务器之间的通
  • 如果是有一定年龄的网民应该都知道在以前的网页的地址一般都是http开头的,而到了现在都是https开头的,这里多的s就是SSL加密协议。 加密的需求 众所周知网络的传输是需要http协议的;但是http是一个明文协议,它是...
  • 1.HTTPHTTPS的定义 HTTP: ...HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密身份认证保证了传输过程的安全性
  • 1.校验 发送的数据包的二进制相加然后取反,目的是检测数据在传输过程中的任何变化。如果收到段的检验有差错,TCP将丢弃这个报文段不确认收到此报文段。 2.确认应答+序列号(累计确认+seq): 接收方收到...
  • 简述http https区别

    2021-12-02 23:08:57
    HTTPHTTPS区别 安全性上,HTTPS是安全超文本协议,在HTTP基础上有更强的安全性。简单来说,HTTPS是使用TLS/SSL加密的HTTP协议 申请证书上,HTTPS需要使用ca申请证书 传输协议上, HTTP是超文本传输协议,明文...
  • 原文地址:HTTP和HTTPS区别     超文本传输协议HTTP协议被用于在Web浏览器网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器网站服务器之间的传输...
  • * HTTP,即超文本传输协议,是一种实现客户端服务器之间通信的响应协议,它是用作客户端服务器之间的请求。 * 客户端(浏览器)会向服务器提交HTTP请求; * 然后服务器向客户端返回响应; * 其中响应包含...
  • 3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。 4、http的连接很简单,是无状态的。Https协议是由SSL+Http协议构建的可进行加密传输、身份认证的网络协议,比http.
  • 然后,这回在SVN的学习中,又出现了http和https,而且还有说https的8443端口相对优越,我就在想,这是为什么呢?一、基本定义1,httpHypertext transfer protocol:(超文本传送协议)是一种详细规定了浏览器万维网...
  • HTTPS和HTTP区别主要如下: 1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。 2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。 3、http和https使用的是...
  • HTTPHTTPS区别

    2021-10-11 17:51:46
    HTTPHTTPS区别 文章目录HTTPHTTPS区别前言一、基本概念二、HTTPHTTPS 区别三、TCP 三次握手四、HTTPS 的工作原理我的公众号 前言 一、基本概念 HTTP(HyperText Transfer Protocol:超文本传输...
  • 各位小伙伴,大家好,今天给大家带来的是httphttps区别,相信只要上过网的都或多或少的看到过http和https,有些小伙伴可能完全不懂http和https是什么,有些小伙伴可能了解一点说这个是超文本传输协议,有s的是有...
  • HTTPHTTPS区别

    2021-02-01 13:40:28
     为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPSHTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器服务器之间的通信加
  • http基于tcp连接,http协议中的数据是利用tcp协议传输的,所以支持http协议就能够支持tcp协议,tcp定义的是数据传输连接方式的规范,http定义的是传输数据的内容的规范。 https=http+ssl(安全套接层) http端口...
  • 关于HTTP和HTTPS区别

    2021-02-26 17:40:45
    前言:在URL前加https://...http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全。HTTPS(Secu...
  • http和https区别 1 http是明文传输,所以容易有以下三个风险: 窃听风险 通信内容可以被窃听 篡改风险 比如强制植入垃圾广告 冒充风险 比如冒充钓鱼网站 httpshttp的基础上采用了SSL/TLS协议,该协议很好的...
  • 1.HTTPSHTTP 更安全: HTTP 是超文本传输协议,信息是明文传输,连接是无状态的。而 HTTPS 是由 SSL+HTTP 协议构建...HTTP 页面响应速度比 HTTPS 快,HTTP 使用 TCP 三次握手建立连接,客户端服务器只需要交换 3
  • 详解http和https原理及区别 http和https都是解决客服端服务端交互的问题, http原理 http是文明协议,其实http是没有什么原理的 ,就只是简单的客服端访问服务端 服务端给响应的过程 http安全问题 http在传输信息...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 587,065
精华内容 234,826
关键字:

http和https的区别