zoukankan      html  css  js  c++  java
  • HTTP和HTTPS的区别?


    1.产生背景

    HTTP(超文本传输协议)被用于在Web浏览器和网站服务器之间,以明文方式传递信息,不提供任何方式的数据加密,因此使用HTTP协议传输隐私信息(如:银行卡号、密码等支付信息)非常不安全。

    为了解决这一安全缺陷,网景公司设计了SSL(Secure Sockets Layer)协议,在HTTP的基础上加入了SSL(Secure Sockets Layer)协议,SSL依靠SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。从而诞生了HTTPS(安全套接字层超文本传输协议)。

    简单来说,HTTPS协议="SSL+HTTP协议"构建的可进行加密传输、身份认证的网络协议,是HTTP的安全版。
    SSL证书定义理解

    2.异同

    2.1.相同之处

    大多情况下,HTTP和HTTPS是相同的,因为都是采用同一个基础的协议,作为HTTP或HTTPS客户端(浏览器),设立一个连接到Web服务器指定的端口。当服务器接收到请求,它会返回一个状态码以及消息,这个回应可能是请求信息、或者指示某个错误发送的错误信息。系统使用统一资源定位器 URI 模式,因此资源可以被唯一指定。整个过程中,唯一不同的只是一个协议头(HTTPS)的说明,其他都是一样的。

    2.2.不同之处

    HTTPS和HTTP的区别主要如下:

    • 工作层:在OSI网络模型中,HTTP工作于应用层,而HTTPS工作在传输层。
    • 连接端口:HTTP标准端口是80,而HTTPS的标准端口是443。
    • 传输方式:HTTP是超文本传输协议,信息是明文传输,而HTTPS是SSL加密传输协议。
    • 工作耗时:HTTP耗时=TCP握手,而HTTPS耗时=TCP握手+SSL握手。
    • 显示形式:HTTP的URL以http://开头,而HTTPS的URL以https://开头。
    • 费用:HTTP无需费用,而HTTPS需要到CA申请证书,一般免费证书较少,需要一定费用。
    • 安全性:HTTP的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。
    https://itbook.download
    
    https://www.baidu.com

    HTTPS的优点

    尽管HTTPS并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击,但HTTPS仍是现行架构下最安全的解决方案,主要有以下几个有点:

    • 使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;
    • HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
    • 谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。

    更多优点可参阅SSL证书有什么用

    3.什么时候该使用HTTPS

    当你访问银行网站、支付网关、购物网站、登录页、电子邮件之类需要敏感信息的网站时,应该使用 HTTPS。

    Tip:如果某个网站要求你填写银行卡之类的敏感信息,首先你要检查该网页是否使用HTTPS加密连接。如果没有,那么请不要输入任何敏感信息,如:信用卡号、密码。

    HTTP切换到HTTPS

    实现将网站从HTTP切换到HTTPS,你可以:

    • 手动更改:需要将页面中所有的链接,例如js,css,图片等等URL都由HTTP改为HTTPS。
  • 相关阅读:
    python随机生成
    socket、tcp、http
    TCP三次握手和http过程
    iOS多线程的初步研究(十)-- dispatch同步
    dispatch队列
    IOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
    UIWebView 自定义网页中的alert和confirm提示框风格
    dispatch_semaphore
    app内购提示,您已购买此商品,但未下载
    单例的写法
  • 原文地址:https://www.cnblogs.com/aaaazzzz/p/12915923.html
Copyright © 2011-2022 走看看