StackOverflow转向默认使用HTTPS

简介:

StackOverflow的首席架构师Nick Craver发表了一篇博文,宣布StackOverflow迁移到HTTPS。在该过程中,他们经历了一些技术挑战,包括对数百个域的支持、URL迁移、用户生成内容处理,以及如何达到网站所需的严格性能需求。
这次迁移总体上历时四年,但Craver强调,该工作一直以来都并非是工作重点。例如,网站上并不存在财务信息或是信用卡支付,网站信息也并非需安全防护的高价值信息。Craver指出,事实上,StackOverflow总是将性能置于安全之上:

我应指出,性能是我们的首要驱动力,而非网站的安全性。虽然我们也需要安全性,但是安全本身并不值得我们付出对整个网站部署HTTPS所花费的时间。

Craver解释说,HTTP/2的广泛采用及在性能上的优点是他们升级到HTTPS的主要驱动力。这些优点包括:Request/Response多路复用(Multiplexing)、服务器推送技术(Server Push), 头部压缩(Header Compression)、数据流优先(Stream Prioritization)和更少的域(Origin)连接等。由于浏览器并不支持在HTTP上实现HTTP/2,因此迁移到HTTPS不仅是一个性能上的需求,同时也是一个安全上的需求。

StackOverflow具有上百个域和子域。站点的主证书中包括了StackOverflow的全部主域,以及由通配符表示的域。在这种多个域的证书和IP一致的情况下,可利用HTTP/2提供的机制,支持浏览器对多个域使用单一的共享连接,这将提高性能。

在转向HTTPS的过程中,还需要做一些域迁移工作。例如,需要将“meta”域从“meta..stackexchange.com”转化为“.meta.stackexchange.com”。Craver特别指出,这样做是因为通配符必须位于域名的最左边,单一的通配符更易于维护。

此外,网站中的敏感cookies现在是从顶级域继承而来的,原先可访问它们的域已经被移动了。Craver给出了一个例子,“SendGrid”标签现已移动到“stackoverflow.email”域中。

Craver还指出,网站中存在着大量HTTP用户生成内容,例如提问中给出的图片、用户配置信息、Youtube视频等。在迁移时所采取的第一步,是对所有新的用户生成内容强制使用HTTPS,将HTTP内容限定为遗留内容。然后,下一步是对遗留内容的迁移。其中的大部分内容仅需要进行查找并替换即可。对于那些团队把握不准的内容,如果内容工作异常,那么它或者被转化为HTTPS,或者被转化为一个链接。

JavaScript代码中也存在着数以千计的链接,这些链接基本上是使用HTTP的,甚至位于不同的“meta”域中。据Craver介绍,他们是逐个代码分别处理的,使用“.Url(‘/path’)”调用替换了这些连接。只要启用了特性标识,这将从根本上转化这些链接为HTTPS。

Craver强调,他们也非常重视避免丢失任何来自Google的流量,这是网站流量的重要来源,因而也是网站收入的主要来源。尽管Google所需的更改非常简单(将301跳转从HTTP更改为HTTPS,并更新权威链接),团队也必须要慎重,以免犯错误。

迁移最后还会涉及WebSocket,需要将所有事情转换为WebSocket加密,这也是为避免影响网站性能而在功能上的直接需要。据Craver介绍,他们可一次同时打开近五十万个并发的websocket连接。

该博文的内容很长,但是值得一读。

本文转自d1net(转载)

相关文章
|
应用服务中间件 nginx 网络安全
|
5月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
148 18
|
5月前
|
网络安全 开发者
如何解决HTTPS协议在WordPress升级后对网站不兼容的问题
以上就是解决WordPress升级后HTTPS协议对网站的不兼容问题的方法。希望能把这个棘手的问题看成是学校的管理问题一样来应对,将复杂的技术问题变得更加有趣和形象,并寻觅出解决问题的方式。希望你的网站能在新的学期得到更好的发展!
123 19
|
5月前
|
JSON 安全 网络协议
HTTP/HTTPS协议(请求响应模型、状态码)
本文简要介绍了HTTP与HTTPS协议的基础知识。HTTP是一种无状态的超文本传输协议,基于TCP/IP,常用80端口,通过请求-响应模型实现客户端与服务器间的通信;HTTPS为HTTP的安全版本,基于SSL/TLS加密技术,使用443端口,确保数据传输的安全性。文中还详细描述了HTTP请求方法(如GET、POST)、请求与响应头字段、状态码分类及意义,并对比了两者在请求-响应模型中的安全性差异。
433 20
|
5月前
|
安全 网络协议 算法
HTTP/HTTPS与SOCKS5协议在隧道代理中的兼容性设计解析
本文系统探讨了构建企业级双协议隧道代理系统的挑战与实现。首先对比HTTP/HTTPS和SOCKS5协议特性,分析其在工作模型、连接管理和加密方式上的差异。接着提出兼容性架构设计,包括双协议接入层与统一隧道内核,通过协议识别模块和分层设计实现高效转换。关键技术部分深入解析协议转换引擎、连接管理策略及加密传输方案,并从性能优化、安全增强到典型应用场景全面展开。最后指出未来发展趋势将更高效、安全与智能。
189 1
|
6月前
|
安全 网络安全 数据安全/隐私保护
HTTP 与 HTTPS 协议及 SSL 证书解析-http和https到底有什么区别?-优雅草卓伊凡
HTTP 与 HTTPS 协议及 SSL 证书解析-http和https到底有什么区别?-优雅草卓伊凡
304 3
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
8月前
|
网络协议 安全 网络安全
HTTP与HTTPS协议入门
HTTP协议是互联网的基石,HTTPS则是其安全版本。HTTP基于TCP/IP协议,属于应用层协议,不涉及数据包传输细节,主要规定客户端与服务器的通信格式,默认端口为80。
256 25
HTTP与HTTPS协议入门
|
10月前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
506 3
|
11月前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
260 11