当前位置: 首页 > news >正文

说说 SSL 的错误认识和不足之处

最近明月在学习折腾 LNMP 期间无意中建了一个 Typecho 的博客小站,近一周的折腾下来,收获真的不少,致使兴趣也越来越浓了,在升级 LNMP 的时候捎带手的给这个 Typecho 博客也启用了 SSL。并且开启了 memcached 和 OPcache 优化加速模块,感觉很不错,大家可以移步围观一下【明月学习笔记 Blog』。

没有想到在 VPS 上部署 SSL 竟然是个分分钟就搞定的事儿,通过几行指令就可以直接在线获取免费 Let's Encrypt 证书了,对 Nginx 主机配置文件稍作修改即可以了。快的有点儿让明月以外了,嘿嘿。因为是个新站,所以小绿锁标志很快就在 Chrome 浏览器地址栏里出现了。我这也算是一次少有的跟风了。

明月发现很多博客站长们都 SSL 的认识有不小的误区,借着这次明月自身的体验我们几天就说说 SSL 的错误认识以及存在的不足之处,以便博客站长们更好的选择取舍。

什么是 SSL?

SSL 是 SecuritySocketLayer 的缩写,技术上称为安全套接字,可以简称为加密通讯协议,使用 SSL 可以对通讯内容进行高强度的加密,以防止黑客监听您的通讯内容甚至是用户密码。

谷歌对 SSL 加密的描述

谷歌:与不加密的网络连接相比,使用 SSL 技术可提供更高的隐私性和安全性。它可降低信息被第三方拦截或滥用的风险。许多网站访问者在得知自己正在使用 SSL 连接后会更愿意提供付款信息以及其他个人信息。

实际上,谷歌对 SSL 的支持是显而易见的。就按照远方的海自己的例子,加上了 SSL 之后,谷歌的访问数目陡然上升了不少。如果你的网站主要是面对谷歌和海外用户,那么绝对不需要犹豫了,SSL 是你的归宿!

而且 SSL 会保障网站的安全。比如,网站很多关键词出现敏感词,没有 SSL 的网站估计就难逃其咎了。之前 V2EX 因为敏感词被封,SSL 端口依然还是可以访问。这个例子就证明了 SSL 的好处。

至于说百度对 SSL,明月认为百度这方面主要还是表现在“口头”上的,就照明月目前的体验,百度对 SSL 站点的收录和权重分配并没有“口头”上说的那么好,所以大家不要相信 SSL 可以提升收录速度、收录量、权重这些,做好“内容增益”才是当前主要工作可参考【原创的“真谛”其实是内容增益!』。

一些对 SSL 错误的看法

客观的说 SSL 是会影响部分加载速度,但是绝对不是让你的网站一下就拖慢了。除非你是洁癖的“处女座”。

看法 1:SSL 会拖慢访问速度吗?

真相 1:SSL 实际上会比普通的 HTTP80 端口的访问多了一次 HTTPS 握手的时间(SSLHandshakeTime),这个握手时间其实相对于网页加载时间是很缓慢的。网页加载的时候,HTTP 需要 3 次 TCP 握手链接;而 HTTPS 则需要 12 次握手链接,较之 HTTP 多了 9 次。所以在建立链接的时候,多出了一些 HTTPS 加密解密的时间。实际上这个时间基本在 0.2 秒之内,你说算不算是拖慢速度呢?

看法 2:SSL 占服务器资源吗?

真相 2:我们用数据说话。只有足够大的流量和数据才具有可靠的真实性。那么 Gmail 的例子可以说是全球范围内,最有参考价值的例子之一了。

2010 年 1 月 Gmail 切换到完全使用 https,前端处理 SSL 机器的 CPU 负荷增加不超过 1%,每个连接的内存消耗少于 20KB,网络流量增加少于 2%。由于 Gmail 应该是使用 N 台服务器分布式处理,所以 CPU 负荷的数据并不具有太多的参考意义,每个连接内存消耗和网络流量数据有参考意义。

[ad]

那么 SSL 既然这么的好,为啥当今互联网上的普及率并不是很高呢?或者说就国内目前的互联网环境来说 SSL 好像并不是网站“标配”,或许下面的这些原因很能说明这个问题:

  • SSL 证书需要钱。功能越强大的证书费用越高。个人网站、小网站没有必要一般不会用。
  • SSL 证书通常需要绑定 IP,不能在同一 IP 上绑定多个域名。IPv4 资源不可能支撑这个消耗。(SSL 有扩展可以部分解决这个问题,但是比较麻烦,而且要求浏览器、操作系统支持。WindowsXP 就不支持这个扩展,考虑到 XP 的装机量,这个特性几乎没用。)
  • HTTPS 连接缓存不如 HTTP 高效,大流量网站如非必要也不会采用。流量成本太高。
  • HTTPS 连接服务器端资源占用高很多,支持访客稍多的网站需要投入更大的成本。如果全部采用 HTTPS,基于大部分计算资源闲置的假设的 VPS 的平均成本会上去。
  • HTTPS 协议握手阶段比较费时,对网站的相应速度有负面影响。如非必要,没有理由牺牲用户体验。
  • 最关键的,SSL 证书的信用链体系并不安全。特别是在某些国家(咳咳,你们懂的)可以控制 CA 根证书的情况下,中间人攻击一样可行。

另外,在客户端被植入无数后门、木马的状况下,HTTPS 连接的作用非常有限。这也许是支付宝不可能像 PayPal 那么易用的原因之一。

明月目前的博客和主站都没有启用 SSL 在上述的不足里都提到了,所以对于是否使用 SSL 还是要理智的来分析是不是自己真正需要的,SSL 对前端的用户来说真心没有太大的作用,所谓的“安全性”也绝不是“宣传”的那么毋庸置疑,明月自己感觉如果博客网站上有“在线支付”功能的,SSL 才是“标配”的,像明月这样的主要是“内容分享”的好像真的是很“鸡肋”的,毕竟费用、效率是我不得不主要面对和考虑的问题。

相关文章:

说说 SSL 的错误认识和不足之处

最近明月在学习折腾 LNMP 期间无意中建了一个 Typecho 的博客小站,近一周的折腾下来,收获真的不少,致使兴趣也越来越浓了,在升级 LNMP 的时候捎带手的给这个 Typecho 博客也启用了 SSL。并且开启了 memcached 和 OPcache 优化加速…...

Go语言day1

下载go语言的安装程序: All releases - The Go Programming Language 配置go语言的环境变量: 写第一个go语言 在E:\go_workspace当前窗口使用cmd命令: 输入 go run test.go...

【Python机器学习】利用t-SNE进行流形学习

虽然PCA通常是用于变换数据的首选方法,使你能够用散点图将其可视化,但这一方法的性质限制了其有效性。 有一类用于可视化的算法叫做流形学习算法,它允许进行更复杂的映射,通常也可以给出更好的可视化。其中特别有用的一个就是t-S…...

03 - matlab m_map地学绘图工具基础函数 - 设置坐标系(m_coord)

03 - matlab m_map地学绘图工具基础函数 - 设置坐标系(m_coord) 0. 引言1. m_proj使用方法2. 结语 0. 引言 上一篇介绍了m_proj函数用于初始化投影,本篇介绍的函数m_coord用于初始化地理坐标系或地磁坐标系,地理/地磁坐标系和投影…...

UEC++ 虚幻5第三人称射击游戏(一)

UEC 虚幻5第三人称射击游戏(一) 创建一个空白的C工程 人物角色基本移动 创建一个Character类添加一些虚幻商城中的基础动画 给角色类添加Camera与SPringArm组件 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category "SpringArm")clas…...

java小代码(1)

代码 : 今日总结到此结束,拜拜!...

SLAM ORB-SLAM2(27)词袋模型

SLAM ORB-SLAM2(27)词袋模型 1. 词袋模型1.1. 词汇树1.2. 逆向索引表1.3. 逆向索引表2. 词袋向量3. 匹配候选帧3.1. 找出和当前帧具有公共单词的所有关键帧3.2. 找出和当前帧最多公共单词的关键帧3.3. 剔除共享单词数较少的关键帧3.4. 计算关键帧的共视关键帧组的总得分3.5. …...

OpenAI 的 GPT-5:CTO米拉-穆拉提说,到 2026 年将实现博士级智能(Ph.D.-Level))

据首席技术官米拉-穆拉提(Mira Murati)介绍,GPT-5 是 OpenAI 人工智能的下一代进化产品,将于 2025 年底或 2026 年初在特定任务中实现博士级智能。 GPT-5 内部代号为 "Gobi "和 “Arrakis”,将是一个多模态…...

macbook配置adb环境和用adb操作安卓手机

(参考:ADB工具包的安装与使用_adb工具箱-CSDN博客) 第一步:从Android开发者网站下载Android SDK(软件开发工具包)。下载地址为: 第二步:解压下载的SDK压缩文件到某个目录中。 进入解…...

微软TTS最新模型,发布9种更真实的AI语音

很高兴与大家分享 Azure AI 语音翻译产品套件的两个重大更新: 视频翻译和增强的实时语音翻译 API。 视频翻译(批量) 今天,我们宣布推出视频翻译预览版,这是一项突破性的服务,旨在改变企业本地化视频内容…...

python爬虫 -爬取 json 格式数据

在Python中,爬取JSON格式的数据通常涉及到发送 HTTP请求到某个URL,并解析返回的JSON数据。以下是一个简单的示例,说明如何使用Python的requests库来爬取JSON格式的数据: 1. 首先,确保你已经安装了requests库。如果没…...

Pytorch(5)-----梯度计算

一、问题 如何使用Pytorch计算样本张量的基本梯度呢?考虑一个样本数据集,且有两个展示变量,在给定初始权重的基础上,如何在每次迭代中计算梯度呢? 二、如何运行 假设有x_data 和 y_data 列表,计算两个列表需…...

C#的膨胀之路:创新还是灭亡

开篇概述 C#,这门由微软推出的编程语言,自2000年诞生以来,以其简洁的语法、强大的功能和广泛的应用场景,赢得了我等程序员的热爱。它在.NET框架的加持下,展现出无与伦比的开发效率和性能。然而,随着时间的流…...

SpringBoot 过滤器和拦截器的区别

SpringBoot 过滤器和拦截器的区别 Spring拦截器(Interceptor)和过滤器(Filter)是Spring框架中用于处理请求的两种机制,虽然它们都可以在请求处理的不同阶段进行拦截和处理,但它们的工作原理和应用场景有所…...

协程执行顺序引发的问题

引言 在Golang中,因为协程执行的顺序是不固定的,如果不在代码里进行控制,可能就会导致预期外的输出。 本文通过分析一段代码的执行来介绍这种情况,以及可行的控制协程执行顺序的方法: sleep()waitGroup 实例分析 代…...

android webview调用js滚动到指定位置

一、activity import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import com.tencent.smtt.sdk.WebView import com.tencent.smtt.sdk.WebViewClientclass MainActivity : AppCompatActivity() {private lateinit var webView: WebViewoverride fun …...

WPF 深入理解一、基础知识介绍

基础知识 本系列文章是对个人 B站 up 微软系列技术教程 记录 视频地址 https://www.bilibili.com/video/BV1HC4y1b76v/?spm_id_from333.999.0.0&vd_source0748f94a553c71a2b0125078697617e3 winform 与 wpf 异同 1.winform 项目结构 编辑主要是在 Form1.cs(页面)&#…...

腾讯云点播ugc upload | lack signature 问题处理

我犯一个很傻的错误 参考腾讯云官方文档:云点播 Web 端上传 SDK-开发指南-文档中心-腾讯云 进行开发,但是却报错了,始终找不到问题,错误提示:ugc upload | lack signature,意思是缺少签名或者签名失败&…...

计算机视觉实验二:基于支持向量机和随机森林的分类(Part one: 编程实现基于支持向量机的人脸识别分类 )

目录 一、实验内容 二、实验目的 三、实验步骤 四、实验结果截图 五、实验完整代码 六、报错及解决方案 PS:实验的运行速度受电脑性能影响,如遇运行卡顿请耐心等待。 一、实验内容 编程实现基于支持向量机的人脸识别分类,基本功能包括:Labeled Faces in th…...

5.什么是C语言

什么是 C 语言? C语言是一种用于和计算机交流的高级语言, 它既具有高级语言的特点,又具有汇编语言的特点 非常接近自然语言程序的执行效率非常高 C语言是所有编程语言中的经典,很多高级语言都是从C语言中衍生出来的, 例如:C、C#、Object-C、…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子&#xff08…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

python打卡day49

知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四&#xff…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析,分为​​已启动​​和​​未启动​​两种场景: 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​:当其他组件(如Activity、Service)通过ContentR…...

Monorepo架构: Nx Cloud 扩展能力与缓存加速

借助 Nx Cloud 实现项目协同与加速构建 1 ) 缓存工作原理分析 在了解了本地缓存和远程缓存之后,我们来探究缓存是如何工作的。以计算文件的哈希串为例,若后续运行任务时文件哈希串未变,系统会直接使用对应的输出和制品文件。 2 …...