HTTP

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基

HTTPS

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证
保证了传输过程的安全性 [1]

。HTTPS 在HTTP 的基础下加入,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网
上安全敏感的通讯,例如交易支付等方面

HTTPS与HTTP原理区别

HTTP 原理

客户端的浏览器首先要通过网络与服务器建立连接,该连接是通过TCP 来完成的,一般 TCP 连接的端口号是80。 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是 MIME 信息包括请求修饰符、客户机信息和许可内容

服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是 MIME 信息包括服务器信息、实体信息和可能的内容  。

HTTPS 原理

客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器 ;

服务器从算法列表中选择一种加密算法,并将它和一份包含服务器
公用密钥的证书发送给客户端
;该证书还包含了用于认证目的的服务器标识,服务器同时还提供了一个用作产生密钥的随机数;

客户端对服务器的证书进行验证(有关验证证书,可以参考数字签名
),并抽取服务器的公用密钥;然后,再产生一个称作 pre_master_secret 的随机密码串,并使用服务器的公用密钥对其进行加密(参考非对称加 / 解密),并将加密后的信息发送给服务器  ;

客户端与服务器端根据 pre_master_secret 以及客户端与服务器的随机数值独立计算出加密和 MAC
密钥(参考 DH密钥交换算法);

客户端将所有握手消息的 MAC 值发送给服务器 ;

服务器将所有握手消息的 MAC 值发送给客户端 。

优缺点

优点

  • 使用 HTTPS 协议可认证用户和服务器,确保数据发送到正确的客户机和服务器
  • HTTPS 协议是由 SSL+HTTP构建的可进行加密传输、身份认证的网络协议,要比 HTTP安全,可防止数据在传输过程中被窃取、改变,确保数据的完整性
  • HTTPS 是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本

缺点

  • 相同网络环境下,HTTPS 协议会使页面的加载时间延长近 50%,增加 10%到 20%的耗电。此外,HTTPS 协议还会影响缓存,增加数据开销和功耗
  • HTTPS 协议的安全是有范围的,在黑客攻击、拒绝服务攻击和服务器劫持等方面几乎起不到什么作用
  • 最关键的是,SSL 证书的信用链
    体系并不安全。特别是在某些国家可以控制 CA 根证书的情况下,中间人攻击一样可行

HTTP、HTTPS相关推荐

  1. nginx配置http、https访问,nginx指定ssl证书,阿里云腾讯云华为云设置nginx https安全访问

    nginx配置http.https访问 要设置https访问需要从对应的云厂商申请证书,并下载Nginx证书到服务器. 我这里从阿里云申请了免费的域名证书,然后将证书放置在服务器的/etc/ssl/. ...

  2. https协议必须使用443端口吗_http、https、http2、websocket之间的关系

    http.https.http2.websocket之间的关系 http:目前绝大多数是http1.1版本,最原始的web协议,默认80端口,基于TCP协议. https:加密的http协议,默认44 ...

  3. http、https比较

    HTTP 超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据, 互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准. 设计HTTP的初衷是 ...

  4. httpd四之CGI、HTTPS、压缩配置

    本文讲述http的CGI.HTTPS.压缩等选项的配置.本文所用环境还是上一次编译安装后的环境,编译安装的博文http://wangfeng7399.blog.51cto.com/3518031/13 ...

  5. 说说你对http、https、http2.0的理解【前端每日一题-25】

    说说你对http.https.http2.0的理解? HTTP的基本优化 影响一个HTTP网络请求的因素主要有两个:带宽和延迟. 带宽 如果说我们还停留在拨号上网的阶段,带宽可能会成为一个比较严重影响 ...

  6. 公钥、私钥、数字签名、数字证书、对称与非对称算法、HTTPS

    2019独角兽企业重金招聘Python工程师标准>>> 对公钥和私钥有点稀里糊涂的,搜索了一些资料,作一些整理吧,先看这个: 加密--公钥 解密--私钥 签名--私钥 验证--公钥 ...

  7. go tcp客户端自动重连_阿里面试: HTTP、HTTPS、TCP/IP、三次握手四次挥手过程?(附全网最具深度讲解)

    前言 这段时间面试官都挺忙的,频频出现在博客文章标题,虽然我不是特别想蹭热度,但是实在想不到好的标题了-.-,蹭蹭就蹭蹭 :) 事实上我在阿里面试的时候确实被问到了这个问题,HTTP.HTTPS.TC ...

  8. JS -- http、https地址自动检测并添加为链接

    正则表达式中使用圆括号括起来的子表达式是带有从左到右的索引编号的,而且正则表达式会记忆与每个子表达式匹配的文本.如果在替换字符串中出现了$加数字,那么replace()将用与指定的子表达式相匹配的文字 ...

  9. 一文搞懂Nginx如何配置Http、Https、WS、WSS!

    写在前面 当今互联网领域,Nginx是使用最多的代理服务器之一,很多大厂在自己的业务系统中都是用了Nginx作为代理服务器.所以,我们有必要了解下Nginx对于Http.Https.WS.WSS的各项 ...

  10. 【转】SSL协议、SET协议、HTTPS简介

    一.SSL协议简介 SSL是Secure Socket Layer的缩写,中文名为安全套接层协议层.使用该协议后,您提交的所有数据会首先加密后,再提交到网易邮箱,从而可以有效防止黑客盗取您的用户名.密 ...

最新文章

  1. IT绩效管理消除IT与业务之间的隔阂
  2. 轴等比缩放_CAD教程:自由缩放命令的操作流程
  3. Python爬虫之Scrapy框架使用selenium
  4. python 字典键值重复_浅谈python字典多键值及重复键值的使用
  5. 10投屏后没有声音_钉钉怎么投屏,秒懂投屏详解
  6. java 读取配置文件的几种方法
  7. Android, App常用图标尺寸规范
  8. 数据挖掘之决策树与决策规则
  9. 新西兰计算机工作好找么,去新西兰留学真的很差么?我看到有很多人都说那边的学习氛围不好而且毕业了不好找工作·········...
  10. C++模板偏特化和全特化
  11. 程序员面试智力题(六)
  12. go语言消息推送服务器,Golang 消息推送系统
  13. 我的世界java正版可以改名字嘛_我的世界Java版帐号将迁移至微软帐号和相关注意事项FQA...
  14. np.histogram()直方图分布
  15. 瑜伽教学法 | 学完教培,就能当瑜伽老师了?
  16. win10 安装cp2102驱动和查看端口号
  17. 科汛用mysql数据库_KesionCMS科讯CMS系统SQL标签使用方法详细介绍
  18. 在C#中加密和解密字符串[重复]
  19. Leetop Jetson Cloud 对于NVIDIA Jetson产品测试申请
  20. Apache Proxy with Weblogic Cluster under SSL

热门文章

  1. c语言实现cgi之cgic库使用
  2. 【解决问题】413错误 413 Request Entity Too Large 接口返回413 报413nginx
  3. nginx将一个域名的访问跳转到另一个域名
  4. render createElement JSX
  5. 报错:The server time zone value ‘�й���׼ʱ��‘ is unrecognied
  6. ULONG_PTR的作用
  7. List、Collections
  8. nginx的安装部署
  9. C语言十大操作符超全详解【建议收藏】
  10. verlay虚拟化技术_Overlay介绍