当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层
大规模流量的网站架构,从来都是慢慢“成长”而来。而这个过程中,会遇到很多问题,在不断解决问题的过程中,Web系统变得越来越大。并且,新的挑战又往往出现在旧的解决方案之上。希望这篇文章能够为技术人员提供一定的参考和帮助。 以下为原文 当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不
当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。
【导读】徐汉彬曾在阿里巴巴和腾讯从事4年多的技术研发工作,负责过日请求量过亿的Web系统升级与重构,目前在小满科技创业,从事SaaS服务技术建设。 在过去的工作中,徐汉彬从事各类缓存建设和优化,遇到问题无数,从各种各样的问题中,逐渐总结出它们之间的“共性”,而这个“共性”又优雅地遵循“几何分形学”。从几何分形的角度去看待缓存机制,能够更容易和更清晰地表述出它的深层原理和部署思想。帮助技术人员去解决在缓存上遇到的技术问题。 缓存机制和几何分形学 缓存机制在我们的实际研发工作中,被极其广泛地应用,通过这些缓存
随着企业组织数字化步伐的加快,域名系统(DNS)作为互联网基础设施的关键组成部分,其安全性愈发受到重视。然而,近年来频繁发生的针对DNS的攻击事件,已经成为企业组织数字化发展中的一个严重问题。而在目前各种DNS攻击手段中,DNS缓存投毒(DNS Cache Poisoning)是比较常见且危害较大的一种,每年都有数千个网站成为此类攻击的受害者给企业的信息安全带来了极大的挑战。
经常看我爱水煮鱼博客的同学,有没有发现我的博客非常快,而你的博客比较慢呢?那是因为我的博客经过了优化。
前言: Omer Gil在BlackHat USA 2017 和BSides Tel-Aviv 2017 上,对Web 缓存欺骗技术这种攻击技术进行了演示,在他发布的“Web 缓存欺骗技术白皮书”中也做了详细的介绍。在特定情况下,web缓存欺骗攻击可以导致攻击者获得受害者的敏感信息。 Web缓存是指Web资源以副本的形式介于Web服务器和客户端之间,当下一个相同请求来到的时候,会根据缓存机制决定是直接使用副本响应访问请求,还是向源服务器再次发送请求。在实际应用中,web缓存十分常见,主要是Web缓存有着如下
https://github.com/donwa/oneindex oneindex Onedrive Directory Index 功能: 不用服务器空间,不走服务器流量, 直接列onedrive目录,文件直链下载。 change log: 18-03-29: 更新直链获取机制、缓存机制,避免频繁访问的token失效 18-03-29: 解决非英文编码问题 18-03-29: 添加onedrive共享的起始目录 功能 18-03-29: 添加rewrite的配置文件 18-03-29: 增加sq
天气逐渐变凉,但渗透测试的热情温度感觉不到凉,因为有我们的存在公开分享渗透实战经验过程,才会让这个秋冬变得不再冷,近期有反映在各个环境下的目录解析漏洞的检测方法,那么本节由我们Sine安全的高级渗透架构师来详细的讲解平常用到的web环境检测点和网站漏洞防护办法。
规范:只要Content-Type设置为application/json的时候,前台的data要传递String字符串
HTTP(HyperTextTransferProtocol) 即超文本传输协议,目前网页传输的的通用协议。HTTP协议采用了请求/响应模 型,浏览器或其他客户端发出请求,服务器给与响应。就整个网络资源传输而言,包括message-header和message-body两部分。首先传 递message-header,即http header消息 。http header 消息通常被分为4个部分:general header, request header, response header, entity header。但是这种分法就理解而言,感觉界限不太明确。根据维基百科对http header内容的组织形式,大体分为Request和Response两部分。 Requests部分 Header 解释 示例 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html Accept-Charset 浏览器可以接受的字符编码集。 Accept-Charset: iso-8859-5 Accept-Encoding 指定浏览器可以支持的web服务器返回内容压缩编码类型。 Accept-Encoding: compress, gzip Accept-Language 浏览器可接受的语言 Accept-Language: en,zh Accept-Ranges 可以请求网页实体的一个或者多个子范围字段 Accept-Ranges: bytes Authorization HTTP授权的授权证书 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== Cache-Control 指定请求和响应遵循的缓存机制 Cache-Control: no-cache Connection 表示是否需要持久连接。(HTTP 1.1默认进行持久连接) Connection: close Cookie HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。 Cookie: $Version=1; Skin=new; Content-Length 请求的内容长度 Content-Length: 348 Content-Type 请求的与实体对应的MIME信息 Content-Type: application/x-www-form-urlencoded Date 请求发送的日期和时间 Date: Tue, 15 Nov 2010 08:12:31 GMT Expect 请求的特定的服务器行为 Expect: 100-continue From 发出请求的用户的Email From: user@email.com Host 指定请求的服务器的域名和端口号 Host: www.zcmhi.com If-Match 只有请求内容与实体相匹配才有效 If-Match: “737060cd8c284d8af7ad3082f209582d” If-Modified-Since 如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码 If-Modified-Since: Sat, 29 Oct 2010 19:43:31 GMT If-None-Match 如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变 If-None-Match: “737060cd8c284d8af7ad3082f209582d” If-Range 如果实体未改变,服务器发送客户端丢失的部分,否则发送整个实体。参数也为Etag If-Range: “737060cd8c284d8af7ad3082f209582d” If-Unmodified-Since 只在实体在指定时间之后未被修改才请求成功 If-Unmodified-Since: Sat, 29 Oct 2010 19:43:31 GMT Max-Forwards 限制信息通过代理和网关传送的时间 Max-Forwards: 10 Pragma 用来包含实现特定的指令 Pragma: no-cache Proxy-Authorization 连接到代理的授权证书 Proxy-Authorization: Basic QWxhZ
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
网站上线前需要对网站进行渗透测试,上一节我们Sine安全讲师讲了web的基础知识了解,明白了具体web运行的基础和环境和协议,这一节我们来讨论下域名和DNS工作原理以及http状态码和请求的协议来分析检测中的重点域名收集。
缓存是指临时文件交换区,电脑把最常用的文件从存储器里提出来临时放在缓存里,就像把工具和材料搬上工作台一样,这样会比用时现去仓库取更方便。因为缓存往往使用的是RAM(断电即掉的非永久储存),所以在忙完后还是会把文件送到硬盘等存储器里永久存储。电脑里最大的缓存就是内存条了,最快的是CPU上镶的L1和L2缓存,显卡的显存是给GPU用的缓存,硬盘上也有16M或者32M的缓存。千万不能把缓存理解成一个东西,它是一种处理方式的统称!
Memcached 对象缓存为 WordPress 对象缓存提供了一个持久的后端。
Joomla!是一套自由、开放源代码的内容管理系统,以PHP撰写,用于发布内容在万维网与内部网,通常被用来搭建商业网站、个人博客、信息管理系统、Web 服务等,还可以进行二次开发以扩充使用范围。其功能包含可提高性能的页面高速缓存、RSS馈送、页面的可打印版本、新闻摘要、博客、投票、网站搜索、与语言国际化。Joomla!是一套自由的开源软件,使用GPL授权,任何人随时都能下载 Joomla! 并立即使用它。
HTTP请求头大全,HTTP头信息包括通用头、请求头、响应头和实体头四个部分 小贴士: Ctrl+F 快速查找
上次在《JSON Web Token - 在Web应用间安全地传递信息》中我提到了JSON Web Token可以用来设计单点登录系统。我尝试用八幅漫画先让大家理解如何设计正常的用户认证系统,然后再延伸到单点登录系统。
在不同地域的用户访问网站的响应速度存在差异,为了提高用户访问的响应速度、优化现有Internet中信息的流动,需要在用户和服务器间加入中间层CDN. 使用户能以最快的速度,从最接近用户的地方获得所需的信息,彻底解决网络拥塞,提高响应速度,是目前大型网站使用的流行的应用方案.
博主前言 这篇转载的文章和上一篇《JSON Web Token - 在Web应用间安全地传递信息》文章均为转载,是我个人在研究 jwt 时浏览下来发现的两篇质量比较高的文章,所以分享给大家。个人对于 jwt 使用场景的理解,包括微信公众号留言中的提问,我都会在下一篇文章中来聊一聊。实际上使用 jwt 设计单点登录系统存在诸多的问题,很多有经验的工程师比较抵制用 jwt 做会话和所谓的单点登录系统,但不妨碍大家作为一个知识点去学习。 以下是原文 上次在《JSON Web Token - 在Web应用间安全地
任何技术都一样,要了解它怎么工作,首先要了解它的机制和原理,所以要深度理解 WordPress 优化,必须要首先了解 WordPress 对象缓存机制。
ThinkPHP是一个开源的PHP框架,以高效、简洁、安全的特性为设计理念,适合各种规模的应用开发。它是国内最为流行的PHP框架之一,其独特的设计理念和先进的技术,使得它受到了广大开发者的青睐。
前端资源比较庞大,包括HTML、CSS、JavaScript、Image、Flash、Media、Font、Doc等等,前端优化相对比较复杂,对于各种资源的优化都有不同的方式,按粒度大致可以分为两类,第一类是页面级别的优化,例如减小HTTP请求数、脚本的无阻塞加载、内联脚本的位置优化等,第二类则是代码级别的优化,例如JavaScript中的DOM操作优化、图片优化以及HTML结构优化等等。在用户角度前端优化可以让页面加载得更快,对用户的操作响应得更及时,能够给用户提供更为友好的体验,在服务商角度前端优化能够减少页面请求数,减小请求所占带宽,能够节省服务器资源。
在我们日常使用互联网时,经常会输入各种域名来访问网站、发送电子邮件或连接其他网络服务。然而,我们可能并没有意识到在背后默默运行着一项重要的技术,即域名系统(DNS)。本篇博客将深入探讨DNS的重要性、工作原理以及未来的发展趋势。
前言:同步一篇2017年1月在QQ空间写的随笔,2017年,我还在实习,现在回首,已经好几年过去,现在看起来,还挺有意思的。
在线客服系统是一种基于网络的即时通讯工具,旨在提供实时的客户服务和支持。这种系统允许客户通过文字、图片或文件与客服人员进行交流,从而解决他们的疑问或问题。
大家好,我是Stanley「史丹利」,你们已经回家我,而我还在学习「其实是因为撞车了,请假计划被打乱了...」。今天聊 nginx 动态dns 解析。【似乎发现 Nginx 的一个 BUG】
DNS可以针对一个域名设置权重比例,按照预设的权重比例给LDNS返回不同的解析结果,继而将用户访问流量引流到不同的服务器/集群上,达到负载均衡的目的。
当下很多web系统使用web缓存功能来存储一些经常检索的文件,以减少Web服务器响应的延迟和减轻服务器上的负载。常见的缓存内容往往是静态或公共文件:样式表(css),脚本(js),文本文件(txt),图像(png,bmp,gif)等。
HTTP Request Header 请求头 Header 解释 示例 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html Accept-Charset 浏览器可以接受的字符编码集。 Accept-Charset: iso-8859-5 Accept-Encoding 指定浏览器可以支持的web服务器返回内容压缩编码类型。 Accept-Encoding: compress, gzip Accept-Language 浏览器可接受的语言 Accept-L
DNS(Domain Name System,域名系统)是互联网的一项核心服务,负责将人类可读的域名(如www.example.com)解析为计算机可识别的IP地址(如192.0.2.1)。DNS通过层级式的分布式数据库系统实现域名与IP地址的映射,使得用户可以通过输入易于记忆的域名访问网站,而无需记住复杂的IP地址。
内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。CDN分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发,提高资源访问速度。
近期,由安全公司 Portswigger 发起的“2017年十大Web黑客技术”评选结果出炉了!经过一开始初选的37个技术议题提名,到后来白帽社区投票的15个入围技术议题,最后,经专家评审委员会评选,又甄选出了最终的 TOP 10 榜单!(PS:经评委会提请,其中包含了一个2016年的技术议题)
用过京东网购都知道,为什么京东物流能当天/隔日到?因为它有前置仓、区域仓的仓储配送机制
阅读源码技巧:首先我们必须要具备分层架构思维,将一套原本很复杂的工程代码,各个击破,这样才能吃透整个源码。
解耦思维是一种设计和思考问题的方法,旨在将复杂的系统或问题拆分为独立的组件或子问题,以降低系统的耦合度和提高可扩展性。以下是一些关于解耦思维的要点:
优化美国服务器的速度涉及多个方面,从硬件配置到网络优化,再到应用层面的调整。以下是一些有效的方法:
1.《图解HTTP》; 2.<一个http请求的详细过程> http://www.cnblogs.com/yuteng/articles/1904215.html 3.<想不通HTTPS如何校验证书合法性来看> http://blog.csdn.net/jogger_ling/article/details/60576625 4.<数字证书及CA的扫盲介绍> http://kb.cnblogs.com/page/194742/ 5.<从HTTP切换到HTTPS的完整指南> http://www.gbtags.com/gb/mobileshare/10816.htm 6.<HTTP,HTTP2.0,SPDY,HTTPS你应该知道的一些事> http://web.jobbole.com/87695/ 7.<聊聊HTTPS和SSL/TLS协议>http://www.techug.com/post/https-ssl-tls.html 8.<浏览器缓存机制> http://www.cnblogs.com/skynet/archive/2012/11/28/2792503.html 9.<扫盲文件完整性校验——关于散列值和数字签名> http://jmchxy.blog.163.com/blog/static/746082322013121113818518/ 10.<DNS & CDN & HTTPDNS 原理简析> http://www.jianshu.com/p/a73e963b63b1 11.<HTTPS那些事(二)SSL证书>http://www.guokr.com/post/116169/ 12.<浅析 OkHttp 的 TLS 连接过程>http://www.jianshu.com/p/f7972c30fc52 13.<HTTP2 概述>http://www.cnblogs.com/ghj1976/p/4552583.html 14.<图解SSL/TLS协议>http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html
Clop 勒索软件团伙入侵 Software AG ,对文件进行加密,索要超过 2000 万美元。在谈判失败后,Clop 在暗网上公布了该公司的数据截图。2000 多万美元的勒索要求是有史以来勒索软件攻击中最大的勒索要求之一。Software AG 是德国第二大公司,全球最大的软件公司之一。
如果你曾经使用过 API 你就会知道大多数服务都来自子域或前缀。前缀或子域是必须的,但只需要一个。请避免使用版本号作为你的前缀或子域,因为版本控制是通过 header 头 Accept 处理的。
从产品上线前的接口开发和调试,到上线后的 bug 定位、性能优化,网络编程知识贯穿着一个互联网产品的整个生命周期。不论你是前后端的开发岗位,还是 SQA、运维等其他技术岗位,掌握网络编程知识均是岗位的基础要求,即使是产品、设计等非技术岗位,在灰度环境体验产品时也需要理解页面缓存、Host 切换等网络基础概念。 「猫哥网络编程系列」一直是我想沉淀的一个技术知识点,因为我认为:网络编程相关知识(尤其是 HTTP 协议),是互联网产品开发当中最重要的基础知识(没有之一)。掌握这方面的基础知识,对一个新手程序员来说
前言 几乎每次面试都会有一个很基本的问题,实习生的基本问题,那就是 如何优化数据库或减少数据库的压力? (1) 合理增加索引 (2) 优化SQL语句 (3) 主从配置(读写分离) (4) ... 注意:除了上面的几点外,我们还可以使用缓存机制,比如Redis、Memcache等等 ---- Memcache简介 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。Memcac
很多人都会说 WordPress 不够快,这是主要因为没有安装适合的缓存插件,而 WordPress 缓存插件有很多种,很多人有点迷糊,不知道怎么应该安装哪一种。
nginx 配置中有1个upstream配置是指向一个域名Y的,而这个域名Y解析对应IP其实是会动态变化的。
MySQL的优化指的是一个很大的系统,面试的时候我之前是从sql的语句优化方面去说的,这种优化也有作用,不过是从逻辑方面去优化。但是当所有的逻辑层面已经无可优化,所有的索引都已经加好,表结构也设计的合理,但是遇到高并发的时候,为什么MySQL还是扛不住呢。当然可以通过其他的方面去缓解MySQL的压力,这里我们暂且不谈。对于MySQL而言,我们要尽最大的可能去压榨机器的性能,让所有的计算资源都不浪费,都可以为我们服务。MySQL运行在服务器上,这里特指Linux服务器。那么服务器的硬盘、CPU,内存,网络都有影响到MySQL的性能。MySQl是非常耗费内存的,线上服务器的MySQL内存要吃到80%左右,内存过小,其他的优化空间其实很小。
值得注意的是,在起始行中,每两个部分之间用空格隔开,最后一个部分后面应该接一个换行,严格遵循ABNF语法规范。
领取专属 10元无门槛券
手把手带您无忧上云