-
网站纯静态页面和伪静态页面有何区别
2016-01-31 11:09:52网站纯静态页面和伪静态页面有何区别 看网址就可以看出来 php java 哪个更合适网站开发 -
静态页面生成
2019-04-02 14:52:47为啥要生成静态页面? 第一、网站生成静态可以减轻服务器负担,网页在被阅读时不需要再调用数据库。 第二、网站生成静态了,网站会更安全。 第三、网站生成静态最重要的一点了,那就是有利于搜索引擎收录,因为搜索...为啥要生成静态页面?
第一、网站生成静态可以减轻服务器负担,网页在被阅读时不需要再调用数据库。
第二、网站生成静态了,网站会更安全。
第三、网站生成静态最重要的一点了,那就是有利于搜索引擎收录,因为搜索引擎优先收录静态页面。
第四、网站生成静态可以加速页面翻开阅读速度,静态页面无需衔接数据库翻开速度较动态页面有明显提高。我来写一个简单的生成静态页(php要ob扩展)
1.你要有一个主页(点击详情页就可以进入静态页说白了你要看里面的内容那内容就是静态页)<?php header("content-type:text/html;charset=utf-8"); $pdo =new PDO("mysql:host=127.0.0.1;dbname=zzr","root","root"); $data = $pdo->query("select * from `news`")->fetchAll(); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>主显示</title> </head> <body> <table border="1"> <tr> <td>id</td> <td>title</td> <td>操作</td> </tr> <?php foreach ($data as $key => $value) { ?> <tr> <td><?php echo $value['id']; ?></td> <td><?php echo $value['title']; ?></td> <td><a href="obshow.php?id=<?php echo $value['id']; ?>">[详情页]</a></td> </tr> <?php } ?> </table> </body> </html>
2.见一个内容模板(我是在当前目录先建的news文件里面放着mo.php)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>显示</title> </head> <body> <h3><?php echo $data['title']; ?></h3> <hr> <div> <?php echo $data['rong']; ?> </div> </body> </html>
3.然后批量生成静态页(说白了第一个人访问的时候那就生成静态页了,在访问就很快)
<?php header("content-type:text/html;charset=utf-8"); ob_start();//开启 $pdo =new PDO("mysql:host=127.0.0.1;dbname=zzr","root","root"); $res = $pdo->query("select * from `news`")->fetchAll(); foreach ($res as $key => $value) { $id = $value['id']; $data = $pdo->query("select * from `news` where `id`='$id'")->fetch(); include("./news/mo.php"); $ch=ob_get_contents();//获取 file_put_contents("./huan/pi-"."$id".".html", $ch);//生成放在这里面 ob_clean(); }
4.生成过程写完了然后就是判断有了就不能生成了要不然麻烦直接访问就完事了
<?php header("content-type:text/html;charset=utf-8"); $id = $_GET['id']; //有的话直接访问 if (file_exists("./huan/jing-"."$id".".html")) { header("Location:./huan/jing-"."$id".".html"); exit; } //没有就生成(也就是调用上面的过程) ob_start(); $pdo =new PDO("mysql:host=127.0.0.1;dbname=zzr","root","root"); $data = $pdo->query("select * from `news` where `id`='$id'")->fetch(); include("./news/mo.php"); $ch=ob_get_contents(); file_put_contents("./huan/jing-"."$id".".html", $ch);
代码到这就完了
目录结构: -1.php -2.php -3.php -4.php --news -mo.php --huan -jing-.''.html
-
伪静态页面
2018-10-31 23:38:18静态页面、动态页面和伪静态页面的区别以及实现方法 1.静态页面 优点:相对于其他两种页面(动态页面和伪静态页面),速度最快,而且不需要从数据库里面提取数据,速度快的同时,也不会对服务器产生压力。 缺点...静态页面、动态页面和伪静态页面的区别以及实现方法
1.静态页面
优点:相对于其他两种页面(动态页面和伪静态页面),速度最快,而且不需要从数据库里面提取数据,速度快的同时,也不会对服务器产生压力。
缺点:由于数据都是存储在HTML里面,所以导致文件非常大。并且最严重的问题是,更改源代码必须全部更改,而不能改一个地方,全站静态页面就自动更改了。如果是大型网站有较多的数据,那会占用大量的服务器空间,每次添加内容都会生成新的HTML页面。如果不是专业人士维护比较麻烦。
动态页面静态化:
1 /** 2 * 动态页面静态化 3 */ 4 public class GoToHtml { 5 6 private static String title ="我是标题"; 7 private static String h1 ="我是 H1 标签"; 8 private static String h2 ="我是 H2 标签"; 9 private static String h3 ="我是 H3 标签"; 10 private static String h4 ="我是 H4 标签"; 11 private static String h5 ="我是 H5 标签"; 12 13 /** 14 * 根据本地模板生成静态页面 15 * 16 * @param filePath HTML 模版路径 17 * @param HtmlFile HTML 保存路径 18 * @return 19 */ 20 public static boolean toHtmlFile(String filePath, String HtmlFile) { 21 String str = ""; 22 try { 23 String tempStr = ""; 24 FileInputStream is = new FileInputStream(filePath);// 读取模块文件 25 BufferedReader br = new BufferedReader(new InputStreamReader(is)); 26 while ((tempStr = br.readLine()) != null) 27 str = str + tempStr; 28 is.close(); 29 } catch (IOException e) { 30 e.printStackTrace(); 31 return false; 32 } 33 try { 34 // 替换掉模块中相应的地方 35 str = str.replaceAll("###title###", title); 36 str = str.replaceAll("###h1###", h1); 37 str = str.replaceAll("###h2###", h2); 38 str = str.replaceAll("###h3###", h3); 39 str = str.replaceAll("###h4###", h4); 40 str = str.replaceAll("###h5###", h5); 41 File f = new File(HtmlFile); 42 BufferedWriter o = new BufferedWriter(new FileWriter(f)); 43 o.write(str); 44 o.close(); 45 } catch (IOException e) { 46 e.printStackTrace(); 47 return false; 48 } 49 return true; 50 } 51 52 public static void main(String[] args) { 53 long startTime = System.currentTimeMillis(); //获取开始时间 54 SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss"); 55 String newFileName = df.format(new Date()); 56 toHtmlFile("d:/b.html", "d:/" + newFileName + ".html"); 57 long endTime = System.currentTimeMillis(); //获取结束时间 58 System.out.println("程序运行时间: " + (endTime - startTime) + "ms"); 59 } 60 }
模块文件代码:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>###title###</title> 5 </head> 6 <body> 7 <h1>###h1###</h1> 8 <h2>###h2###</h2> 9 <h3>###h3###</h3> 10 <h4>###h4###</h4> 11 <h5>###h5###</h5> 12 </body> 13 </html>
于是便能生成静态页面了。
2.动态页面
优点:空间使用量非常小,一般几万条数据的网站,使用动态页面,可能只有几M的文件大小,而使用静态页面少则十几M,多则几十M甚至更多。因为数据库是从数据库里面调出来的,如果需要修改某些值,直接更改数据库,那么所有的动态网页,就会自动更新了。这一点相比静态页面优点就显而易见了。
缺点:用户访问速度较慢,为什么会访问动态页面较慢呢?这个问题要从动态页面的访问机制说起了,其实我们的服务器上面有一个解释引擎,当用户访问的时候,这个解释引擎就会把动态页面翻译为静态页面,这样大家就能够在浏览器里面查看源码了。而这个源码就是解释引擎翻译之后的源码。除访问速度较慢以外,动态页面的数据是从数据库里面调用过来的如果访问的人数较多,数据库的压力会非常大。不过现在的动态程序多数都使用了缓存技术。但是总体来讲,动态页面对于服务器的压力比较大一些。同时动态页面的网站一般对于服务器的要求比较高一些,同时访问的人越多也会造成服务器的压力越大。
3.伪静态页面
伪静态页面定义:“假”静态页面,实质上是动态页面。
优点:相比静态页面而言,并没有速度上的明显提升,因为是“假”静态页面,其实还是一个动态页面,也是同样需要翻译为静态页面的。最大的好处就是让搜索引擎(Search Engine)把自己的网页当做静态页面来处理。
缺点:顾名思义,“伪静态”就是“假静态”,搜索引擎不会把他当做静态页面来处理,这只是我们靠经验考逻辑去分析的,并不一定准确。或许搜索引擎直接把它认为是动态页面。
动态页面变为伪静态:
1、下载并引用jar包: urlrewritefilter-4.0.3.jar
2、配置 web.xml ,在 web.xml 中配置过滤器:
1 <!--配置Url Rewrite的Filter --> 2 <filter> 3 <filter-name>UrlRewriteFilter</filter-name> 4 <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> 5 </filter> 6 <!--配置Url Rewrite的Filter拦截所有请求--> 7 <filter-mapping> 8 <filter-name>UrlRewriteFilter</filter-name> 9 <url-pattern>/*</url-pattern> 10 <dispatcher>REQUEST</dispatcher> 11 <dispatcher>FORWARD</dispatcher> 12 </filter-mapping>
3、在 WEB-INF 目录下新建文件 urlrewrite.xml 文件:
1 <?xml version="1.0" encoding="utf-8"?> 2 <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN" 3 "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd"> 4 <urlrewrite> 5 <rule> 6 <from>/userinf-([0-9]+).html</from> 7 <to type="forward">/NewFile.jsp?username=$1</to> 8 </rule> 9 <!-- forward redirect 10 <outbound-rule> 11 <from>/NewFile.jsp\?username=([0-9]+)</from> 12 <to>/userinf-$1.html</to> 13 </outbound-rule> --> 14 </urlrewrite>
4、建立一个简单的 jsp 页面:
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 5 <html> 6 <head> 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 8 <title>Insert title here</title> 9 </head> 10 <body> 11 <% 12 String user = request.getParameter("username"); 13 %> 14 <% 15 out.println("现在时间是: " + new java.util.Date() + "<br />"); 16 out.println("用户名: " + user); 17 %> 18 <br /> 19 <c:url value="/NewFile.jsp?username=8" var="tempNewsUrl"></c:url> 20 <a href="${tempNewsUrl}">新闻2</a> 21 </body> 22 </html>
5、展示效果
输入伪静态页面地址,事实上请求的是动态页面数据;
简单总结:
- 静态页面访问最快;维护较为麻烦。
- 动态页面占用空间小、维护简单;访问速度慢,如果访问的人多,会对数据库造成压力。
- 使用纯静态和伪静态对于SEO(Search Engine Optimization:搜索引擎优化)没有什么本质的区别。
- 使用伪静态将占用一定量的CPU占用率,大量使用会导致CPU超负荷。
参考链接:
-
百度静态页面
2019-04-07 21:49:29过了好久的一个静态页面的切图 写的不怎么好。学的好的希望自动略过。嘻嘻 图片 代码 百度一下你就知道 新闻 hao123 地图 视频 贴吧 学术 登陆 设置 更多产品 ...过了好久的一个静态页面的切图
写的不怎么好。学的好的希望自动略过。嘻嘻
图片
代码百度一下你就知道 <input class="wb" type="text" name="wenben" id="" value="" /> <input class="tj" type="submit" name="tj" id="" value="百度一下" /> </form> </div> <div class="er"> <img src="img/www.baidu.png" alt=""><br> <span>百度</span> </div> </div> <div id="footer"> <p class="top"> <a href="#">把百度设为主页</a> <a href="#">关于百度</a> <a href="#">About Baidu</a> <a href="#">百度推广</a> </p> <p class="bottom"> 2019 Baidu <a href="#">使用前必读</a> <a href="#">意见反馈</a> 京ICP证030173号     <a href="#">京公网安备11000001000001号</a> <img src="img" alt=""> </p> </div> </body>
css *{ margin: 0; padding: 0; } #header{ text-align:right; height: 61px; line-height: 61px; font-size: 14px; font-weight: bold; } #header a{ color: black; margin-left:20px ; } #header a.gengduo{ display: inline; width: 60px; height: 24px; background: #3388FF; margin-right: 10px; padding-bottom: 5px; text-decoration: none; } #bd .logo{ text-align: center; margin-top: 40px; } #bd .main{ width: 640px; margin: 0 auto; margin-bottom: 171px; } #bd .main .wb{ width: 539px; height: 40px; margin-top: 38px; border: 1px solid #ccc; padding: 0; } #bd .main .tj{ width: 90px; height: 40px; line-height: 40px; background: #3388FF; color: #fff; } #bd .er{ text-align: center; } #bd .er span{ font-size: 12px; } #footer { display: block; text-align: center; line-height: 24px; margin-top: 26px; } #footer .top a{ margin-left: 24px; color: #999999; } #footer .bottom { color: #999999; } #footer .bottom a{ color: #999999; }
-
php页面静态化—动态页面和静态页面
2015-06-27 22:53:09动态页面: 页面中的数据需要从文件或数据库动态获取的页面; 比如请求一个php文件所生成的页面;... 所以说这类型的页面也属于动态页面;...所以说这类型的页面属于静态页面; 从上面的描述可以动态页面:
页面中的数据需要从文件或数据库动态获取的页面;
比如请求一个php文件所生成的页面;当请求一个php文件时,php文件会经过3个执行阶段,语法分析、编译、运行。
所以说这类型的页面也属于动态页面;
静态文件:
纯html文件所生成的页面;当请求一个html文件时,html文件不会经过语法分析、编译,它会直接运行。
所以说这类型的页面属于静态页面;
从上面的描述可以看出,加载一个静态文件肯定会比加载一个动态文件更快。这是肯定的;
-
静态页面和动态页面的区别
2019-03-12 19:23:00静态页面和动态页面的区别 一、静态web页面: 1、在静态Web程序中,客户端使用Web浏览器(IE、FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务器我现在需要得到哪个... -
2小时候学会SpringBoot整合Thymeleaf生成静态页面
2020-02-19 18:41:17- 使用线程池实现静态页面生成 现在,我们的页面是通过Thymeleaf模板引擎渲染后返回到客户端。在后台需要大量的数据查询,而后渲染得到HTML页面。会对数据库造成压力,并且请求的响应时间过长,并发能力不高。 大家... -
什么叫动态页面和静态页面?
2018-12-23 23:05:24静态页面不能自主管理发布更新的页面,如果想更新网页内容,要通过FTP软件把文件DOWN下来用网页制作软件修改(通过fso等技术例外) 常见的静态页面举例:.html扩展名的、.htm扩展名的。 注意:静态页面并非网站上没有... -
天猫HTMl静态页面
2020-02-28 19:53:25Hi大家好,这是我之前搭建的静态页面HTML+CSS+JS(页面是仿照天猫实现的),放忘了,今天翻到了,就分享给大家! 前端页面搭建,美化,特效其实比后端有意思,给客户是直接的体验! ... -
静态页面工作原理
2018-05-14 14:23:15通俗的讲就是:静态页面即是页面内容不会随着访问对象以及条件的不同而显示不同的东西的页面。就是始终是一种样子的页面。静态页面的工作原理是:静态页面写好保存到服务器---->用户通过浏览器访发出访问页面... -
.Net静态页面
2014-03-05 16:53:00.Net生成静态页面类。 -
静态页面和动态页面中的静态和动态到底指的是什么
2018-12-25 11:31:46今天讨论一个话题,这是在考研的专业课考试中的一个问题:静态页面和动态页面的联系和区别 ,这考的我就很猝不及防 ,这个方面虽然以前有了解 ,但是理解得并不深刻,网安方向涉及到的东西太多了,慢慢学习吧~首先来... -
php生成静态页面并预览
2019-06-27 09:53:02一、前言 ...这篇文章主要是记录一下php生成静态页面的大致步骤,关于页面静态化,大家想必都听说过,但是真正用的时候反而不是很多。有些页面考虑到访问量比较大,... -
动态页面转化为静态页面
2017-04-20 00:41:142 让jsp输出在指定的文件下的静态页面, 3 最后又重定向到当前项目路径下的,静态页面 向对方的浏览器传输html文件的相关重要代码如下: 有关filter的代码: private FilterConfig config=null; public void ... -
Nginx代理静态页面
2019-10-24 19:53:00Nginx代理静态页面只需要对配置文件做最简单的修改即可,去到Nginx的安装目录下,编辑conf/nginx.conf文件如下: 此时,只需启动Nginx,那么/app/bea12c3/user_projects/domains/webapps/目录下的东西将会代理到... -
通过Nginx访问静态页面
2019-08-16 17:15:18通过Nginx访问静态页面 转载请标明出处^_^ 原文首发于:www.zhangruibin.com 本文出自于:RebornChang的博客 nginx的用途 处理静态文件,索引文件以及自动索引;打开文件描述符缓冲; 无缓存的反向代理加速,... -
springboot 访问静态页面
2018-01-02 10:44:49背景:由于项目的前后端...后端通过controller处理页面跳转时只需要返回指定的静态页面即可,下面简单说一下我在处理springboot返回静态页面时遇到的一些问题。1、移除maven的thymeleaf依赖: <groupId>org.springfra -
nginx代理静态页面
2019-12-29 14:41:12我们修改nginx,让它对商品请求进行监听,指向本地静态页面,如果本地没找到,才进行反向代理: server { listen 80; server_name www.leyou.com; proxy_set_header X-Forwarded-Host $host; proxy_set_head... -
什么是动态页面与静态页面
2017-07-13 10:12:42经常有网站建设公司说我们采用静态页面,不是动态页页,那么什么是静态页面,什么是动态页面,下面我们简单的介绍一下: 静态网页,动态网页主要根据网页制作的语言来区分;静态网页使用语言:HTML(超文本标记语言... -
静态页面局域网访问
2019-09-16 19:09:29如果不需要服务器,需在方静态页面的计算机上设置IIS win7设置IIS方法 第一步打开控制面板: 第二步:选择程序 第三步:点击打开或关闭windows功能 第四步:选择里面所需要的文件夹 第五步:点击... -
网站当中动态页面和静态页面有何区别
2016-01-20 07:32:52网站当中动态页面和静态页面有何区别 为什么说静态页面seo比较友好 -
Spring Boot 访问静态页面!
2018-07-14 08:46:31SpringBoot访问静态页面 一、静态页面放在templates下面(多个页面可以添加相应的文件夹,方便管理): 二、配置Controller 这里有两点值得注意: 其一:类注解不能用RestController,只能用Controller ... -
前端探秘-静态页面与动态页面(静态网站与动态网站)
2018-01-07 20:51:08静态页面 网页代码都在页面中,不用执行asp , php , jsp , .net等程序生成客户端代码不能自主管理发布更新的页面,如想更新内容,要通过FTP软件把文件DOWN下来用网页制作软件修改(通过FSO等技术例外)常见的静态... -
Nginx部署静态页面实战
2020-01-04 17:42:38本文主要介绍,linux环境下使用 Nginx部署静态页面的使用 1.新建 index.html <html> <head> <title>Nginx-demo</title> </head> <body style="padding: 20px;"> <br/... -
springboot静态页面、动态页面及WebMvcConfigurer使用分析
2019-07-17 04:52:311、绝对路径写死不合理,相对路径问题待...静态页面(静态页面与动态页面学习 ) Spring Boot 默认为我们提供了静态资源处理,默认提供的静态资源映射如下: - classpath:/META-INF/resources - classpath:/re... -
springboot 直接访问静态页面
2018-08-22 10:37:02这几天在使用springboot的时候,大多处理都是经过controller跳转页面,那么是否可以直接访问静态页面? 解决方案 把我们需要的页面放在static下,这样就能通过 *.html 访问了 原文章链接:... -
Nginx 更新静态页面 不生效
2020-06-24 00:10:22发现更新完vue页面之后,重启nginx或者nginx重新加载,静态页面也没有更新过来 旧的Nginx配置 这样配置更新静态页面是有问题的 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/...