前两天简单介绍了“前台与后台分离”的架构设计准则,又有水友提问:能不能顺带介绍下“动静分离”的架构设计准则呢?今天花1分钟简单说说。
既然静态页面访问快,动态页面生成慢,有没有可能,将原本需要动态生成的站点提前生成好,使用静态页面加速技术来访问呢?
一、静态页面 静态页面,是指互联网架构中,几乎不变的页面(或者变化频率很低),例如: 首页等html页面 js/css等样式文件 jpg/apk等资源文件 静态页面,有与之匹配的技术架构来加速,例如:
一分钟了解互联网动静分离架构
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/131467.html原文链接:https://javaforall.cn
1、静态页面 优点:相比其他两种页面,速度最快。不仅仅是秒杀秒客网加载速度最快,而且不需要从数据库里面提取数据,速度快的同时,也不会对服务器产生压力。 缺点:由于数据都是储存在HTML里面,所以导致文件非常大。并且最严重的问题是,更改源代码必须全部更改,而不能改一个地方,全站静态页面就自动更改了。如果是大型网站有比较多的数据,那会占用大量的服务器空间,每次添加内容都会生存新的HTML页面。如果不是专业人士维护比较麻烦。 静态页面对于搜索引擎是非常友好的,至于说秒杀秒客网为什么友好,可能有很多个人站长并不清楚
在了解静态化之前,我们需要先了解什么叫静态网页,静态网页是服务器上面真实存在的页面,它不需要编译,用户就可以直接访问这样的网页,后缀一般为.html或者是.HTM。如果我们把这个网页上传到我们的服务器
Nginx 动静分离,简单来说,就是把动态和静态请求分开,这里所说的不是将动态页面和静态页面物理分离,可以理解为:Nginx处理静态页面,Tomcat处理动态页面。
随着网站的内容的增多和用户访问量的增多,无可避免的是网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,我们往往需要在此时对我们的网站进行代码优化和服务器配置的优化。 一般情况下会从以下方面来做优化 1、动态页面静态化 2、优化数据库 3、使用负载均衡 4、使用缓存 5、使用CDN加速 现在很多网站在建设的时候都要进行静态化的处理,为什么网站要进行静态化处理呢?我们都知道纯静态网站是所有的网页都是独立的一个html页面,当我们访问的时候不需要经过数据的处理直接就能读取到文件,访问速度就可想而知了,而其对于搜索引擎而言也是非常友好的一个方式。 纯静态网站在网站中是怎么实现的? 纯静态的制作技术是需要先把网站的页面总结出来,分为多少个样式,然后把这些页面做成模板,生成的时候需要先读取源文件然后生成独立的以.html结尾的页面文件,所以说纯静态网站需要更大的空间,不过其实需要的空间也不会大多少的,尤其是对于中小型企业网站来说,从技术上来讲,大型网站想要全站实现纯静态化是比较困难的,生成的时间也太过于长了。不过中小型网站还是做成纯静态的比较,这样做的优点是很多的。 而动态网站又是怎么进行静态处理的? 页面静态化是指将动态页面变成html/htm静态页面。动态页面一般由asp,php,jsp,.net等程序语言编写而成,非常便于管理。但是访问网页时还需要程序先处理一遍,所以导致访问速度相对较慢。而静态页面访问速度快,却又不便于管理。那么动态页面静态化即可以将两种页面的好处集中到一起。 静态处理后又给网站带来了哪些好处? 1、静态页面相对于动态页面更容易被搜索引擎收录。 2、访问静态页面不需要经过程序处理,因此可以提高运行速度。 3、减轻服务器负担。 4、HTML页面不会受Asp相关漏洞的影响。 静态处理后的网站相对没有静态化处理的网站来讲还比较有安全性,因为静态网站是不会是黑客攻击的首选对象,因为黑客在不知道你后台系统的情况下,黑 客从前台的静态页面很难进行攻击。同时还具有一定的稳定性,比如数据库或者网站的程序出了问题,他不会干扰到静态处理后的页面,不会因为程序或数据影响而 打不开页面。 搜索引擎蜘蛛程序更喜欢这样的网址,也可以减轻蜘蛛程序的工作负担,虽然有的人会认为现在搜索引擎完全有能力去抓取和识别动态的网址,在这里还是建议大家能做成静态的尽量做成静态网址。 下面我们主要来讲一讲页面静态化这个概念,希望对你有所帮助! 什么是HTML静态化
什么是静态页面?什么是动态页面?两者有什么区别?很多不了解前端技术的人可能会认为静态页面就是一个内容固定不变,没有任何效果的页面,而动态页面则是页面非常丰富,有各种交互效果和动态效果的页面。其实这个理解是错误的。通过本篇文章的阅读,详细为大家分享一下静态页面和动态页面到底是什么,两者有什么区别。
在大型网站中,如京东和当当商品详情界面,看到的页面基本上是静态页面。为什么都要把页面静态化呢?把页面静态化,好处有很多。例如:访问速度快,更有利于搜索引擎收录等。
之前讲过 next.js 中的 getServerSideProps,今天来讲一讲另一个很类似的 API:getStaticProps,以及和 getStaticProps 紧密相关的 getStaticPaths。
静态化的优势 (1)提高页面的打开速度 直接访问静态页面,无需任何动态处理,打开速度大幅提高 (2)降低服务器的访问压力 不需要应用服务器对动态程序的计算,也不需要连接数据库,极大降低系统压力 (3)有利于搜索引擎优化 搜索引擎喜欢静态页面,喜欢打开快的页面 (4)使网站更安全 减少使用动态页面的安全隐患,例如sql注入对静态页面是没用的 静态化策略 可以根据页面的具体情况,决定静态化整个页面,还是静态化局部 例如首页,变化的频率一般不大,而且访问率非常高,比较适合整个页面静态化 例如详情页,一般详情本身不
对象存储(Cloud Object Storage,简称:COS)是腾讯云提供的面向非结构化数据,支持 HTTP/HTTPS 协议访问的分布式存储服务,它能容纳海量数据并保证用户对带宽和容量扩充无感知,可以作为大数据计算与分析的数据池。腾讯云 COS 提供网页端管理界面、多种语言的 SDK 以及命令行和图形化工具,并且完全兼容 S3 的 API 接口,方便用户直接使用社区工具和插件,COS 还可以和其他云产品结合,比如利用 CDN 的全球节点提供加速服务,利用数据万象的图片处理能力提供一站式图片解决方案等。
Never let success get to your head, and never let failure get to your heart.
NextJS是一款基于 React 进行全栈开发的框架,是当下非常火的React全栈框架之一,在去年NextJS发布了V13版本,而本文将基于V13版本的app路由,来梳理它的几种不同的渲染方式的实现,并且与pages路由做对比。
近期发现腾讯云的COS服务竟然支持部署静态网站了,故写本文记录分享最新版COS部署静态网站过程。
模板完全静态化,也就是通过模板完全生成纯静态的网页,相比动态页面和伪静态页面更安全更利于SEO访问更快。相比前二者各有利弊吧,现在稍微对这三种形式的优缺点对比一下,以及在ThinkPHP5项目中实现完全静态化的基本过程。
话说这RSSHub真是个好东西,可以在Vercel免费构建运行,但是你看人家萌歪 https://moeyy.cn/rsshub/自建的怎么就有和人家RSSHub官方一样的文档呢?所以我将在文章中记录在Vercel上同时部署RSSHub本体及其使用Vuepress实现的docs页面。
1. 基本目录结构 ---- src/main/java: 存放源码 src/main/resources static/: 存放静态文件,比如css、js、image(访问方式 http://localhost:8080/js/main.js) templetes/: 存放静态页面jsp,html,tpl config/: 存放配置文件,application.properties resources/: public/: application.prope
我的腾讯云服务器是之前利用学生身份(有优惠)买的,现在快到期了,而且服务器上面只有一个引导页(静态页面)还有用,别的项目都没有用了。所以就想找一种不花钱买服务器就可以访问到我的引导页的方法。然后突然间想到了之前小伙伴说过hexo写博客非常方便而且是托管到github上的,我就想能不能用类似的方法把自己的静态页面也托管到github上。
转载至 https://cloud.tencent.com/developer/article/1388235
本系统灵活的借用了腾讯云COS作为对象存储和静态网站托管,使用腾讯云SCF作为Hexo的运行环境。通过SCF上内置的COS触发器,实现了COS上markdown源文件一旦修改,则自动通过SCF上的Hexo将页面渲染为静态页面并部署到COS的指定目录下,同时刷新CDN。具有全自动、自扩容、高并发、无服务器特点的FasS架构。
如何展示自己做的静态页面?需要自己有个服务器,还要买个域名?其实用 GitHub 就能搞定。
因为一直在写博客, 就向着搭个 GithubPages 来展示, 一直都听说别人用它来搭建个人博客, 但一直停留在听说的阶段. 最近想着没事搞一搞, 也看看它到底是个什么东东. 不过咱一个写中文博客的, 就想着在码云上搭一个, 顺便还能被百度收录, 嘿嘿.
[导读] 1、全页面静态化缓存也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系统中比较常见,比如dedecms;一种比较常用的实现方式是用输出缓存:Ob 1、全页面静态化缓存 也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系统中比较常见,比如dedecms; 一种比较常用的实现方式是用输出缓存: Ob_start()******要运行的代码*******$co
下载:go get -u github.com/gin-gonic/gingo get -u github.com/thinkerou/favicon测试代码 package main import "github.com/gin-gonic/gin" func main() { //创建一个服务 engine := gin.Default() //访问地址,处理请求 engine.GET("/hello", func(context *gin.Context) {
以云主机为例,系统为Centos_7.4_x64,绑有外网IP,接下来是具体的步骤:
服务器存储网页文件,不执行意思是客户端访问服务器执行返回相关网页内容,执行是服务器要对相关网页执行后再返回,动态页面可以包含静态页面。
这篇文章主要是记录一下php生成静态页面的大致步骤,关于页面静态化,大家想必都听说过,但是真正用的时候反而不是很多。有些页面考虑到访问量比较大,页面结构又不常改动的,比如新闻公告等,可以考虑做成静态页面放在服务器上,这样第一是能抗住大流量的访问,第二也是更加安全一些,打开速度上有保证。
十一假期宅家无事,发现自己过去写了很多文章,却没有一个自己的博客,系统得管理自己的文章,所以准备将自己过去以及未来的文章都放到博客,以饷读者。另一方面,经过对 Serverless 博客、TCB 建站、虚拟机建站等一系列建站方式对比后,个人认为基于 Github Pages 最适合搭建个人技术博客,最重要的当然是免费,其次网上教程众多,可以快速建站,第三则是所有的博客直接托管在 github,也更符合个人习惯,最后则是自建个人博客可玩性和可扩展性好。
现在接到一个任务,要为一家公司做一个博客模块,要求全静态化。也就是不仅博客首页是静态页面,其他子页面也都要静态的,这样可以使得网站更安全,同时也能减轻服务器的负担,访问速度更快!
作为互联网上的老站长,相信你一定不会对 Discuz 陌生,Discuz 作为风靡互联网的论坛程序,你可以十分轻松的完成一个论坛的搭建。不仅如此,Discuz 本身强大的 CMS 功能,也让内容的发布变的简单无比。 不过,作为一个动态程序, Discuz 难免遇见安全问题。如何在享受 Discuz 强大的 CMS 功能的同时,获得更高的安全性?静态化是一个不错的解决方案。 接下来,我们来看一下,如何将 Discuz 生成静态页面,并部署至腾讯云云开发来完成静态化。 生成静态页面 登陆你的 Discuz 后
LayUI MINI是基于LayUI框架开发的一套最简洁、易用的后台框架模板,它已经是一个非常完整的脚手架,有现成的页面模板可以参考甚至是直接使用。 通常来说,如果我们准备开发一套管理系统的WEB界面,一定是需要基于某个前端技术或框架来做的。实际上,可供选择的组件也比较多,比如最原始的HTML+CSS+JavaScript三件套,或者直接使用某个Bootstrap框架,如:AdminLTE,又或者是某个MVC框架,如:AngularJS,Vue 。 选择不同的框架是需要根据实际的需求而定的,不同框架实现技术不同,使用难易程度不同,适用的场景也不同。有的框架直接是一个脚手架项目,可以直接基于它就能快速地开发出业务系统的WEB界面,有的框架仅仅提供的了满足各种需求的组件,还需要开发者自己基于此搭建起不同风格的整体界面。 LayUI MINI比LayUI更易于使用的地方在于:它已经是一个现成且完整的后台管理系统框架模板,直接拿来使用即可;而LayUI本身只是提供了一些封装好的组件模块,完整的界面框架还是需要使用者根据具体需求来实现。不论如何,在涉及到具体的UI组件使用上,还是LayUI框架提供的。 由于一些未知的原因,LayUI框架的官网已经不在继续维护了,作者将LayUI完全托管于Gitee。 LayUI MINI的官网是正常运行的,详见:http://layuimini.99php.cn/ 。
PHP是Hypertext Preprocessor的缩写,(超文本预处理器)是一种在服务器端运行的开源的脚本语言。
如果使用的是butterfly主题,hexo-neat会与主题的各类配置本身起冲突,如果有压缩静态页面资源的需要,可以参考Hexo博客静态资源加速的相关内容。
Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。 在动静分离的tomcat的时候比较明显,因为tomcat解析静态很慢,其实这些原理的话都很好理解,简单来说,使用正则表达式匹配过滤,然后交给不同的服务器。 静态页面一般直接由Nginx来处理,动态页面则是通过反向代理,代理到后端的Tomcat,然后在做负载均衡,是选择本地静态页面,还是后端Tomcat,这由负载均衡配置决定。 动静分离是在负载均衡后做的,例如静态wbe有多台,动态web有多台,先动静分离,然后在各自集群里做负载均衡、权重等。
现在,我们的页面是通过Thymeleaf模板引擎渲染后返回到客户端。在后台需要大量的数据查询,而后渲染得到HTML页面。会对数据库造成压力,并且请求的响应时间过长,并发能力不高。
最近get到了一个实用命令 就是用 Python python -m SimpleHTTPServer port(端口) 命令,在本地快速起一个 HTTP 服务,给大家安利一下~,大佬勿喷~~~
原则:动静分离,分级缓存,主动失效。 Web 开发中,接口会被分为以下几类: 纯静态页面。打死我都不会修改的页面。很长一段时间内,基本上不会修改。比如:关于我们。 纯动态页面。实时性,个性化要求比较高。页面变化很大,或者每个用户看到的都不一样,比如:朋友圈。 短时静态页面。在一定时间内基本不会变化,或者是容忍不需要实时更新。比如:文章、新闻。 动静结合页面。这个页面既有动态,也有静态内容。也是实际应用中最多的。 对于以上类型的页面,可以做不同的缓存方案。各位大神们应该根据自己业务的情况,灵活调整缓存方案。以
Pages 功能一直以来呼声都非常之高,现在终于不负各位 OSCers 众望,码云 Pages 功能闪亮登场! 码云 Pages 是一个免费的静态网页托管服务,您可以使用码云 Pages 托管博客、项目官网等静态网页。如果您使用过 Github Pages 那么您会很快上手使用码云的Pages服务。 码云Pages目前仅支持公有项目使用,私有项目会在下一版提供,敬请期待。 使用前须知 1、Pages 默认的根文件是 index.html 2、静态网页的样式可以自己写,也可以拿一些静态模版来修改,Page
Nginx (“engine x”) 是一个高性能的 HTTP和反向代理服务器,特点是占有内存少,并发能 力强,事实上 nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用 nginx 网站用户有:百度、京东、新浪、网易、腾讯、淘宝等
在resources建立一个static目录和index.htm静态文件,访问地址 http://localhost:8080/index.html
很多开源项目托管平台都支持为托管的项目建立主页,但主页的维护方式都没有码云这么酷。大多数托管平台无非是开放一个FTP或类似服务,用户把制作好的网页或脚本上传了事,而在码云用户通过创建特殊名称的 Git 版本库或在 Git 库中建立特别的分支实现对主页的维护。
1) 创建个人站点 -> 新建仓库(注:仓库名必须是【用户名.github.io】) 2) 在仓库下新建index.html的文件即可
PS:秒杀系统不仅仅讲秒杀,主要是讲如何利用限流,缓存,异步分布式互联网大并发的场景。
领取专属 10元无门槛券
手把手带您无忧上云