什么是伪静态?

  • 伪静态字面理解就是假的静态,说的官方点就是“地址重写,用户得到的全部地址都是经过处理后的URL地址”。

为什么要伪静态呢?

  • 提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多
  • 美化URL,去除了那些比如*.do之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL
  • 更有利于搜索引擎的收入,通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息

应用场景是什么?

  • 最直接的就是SEO优化(上面“为什么要伪静态呢?”已提到)

伪静态案例

  • 这是我之前参加的一个项目中使用到的伪静态技术。


怎么用?

  • 准备工作

  • 正式操作

    • 把 urlrewritefilter-x.jar 放入项目,可以直接放到 WEB-INF/lib 下,如果使用的maven,可以copy以下代码:

      <!-- 伪静态url --><dependency><groupId>org.tuckey</groupId><artifactId>urlrewritefilter</artifactId><version>4.0.4</version></dependency>
  • 配置web.xml:其实urlrewrite其实就是个过虑器,它将会过虑用户的所有请求,符合规则的便对其进行重定向,具体的配置参数的使用方法见官方文档http://www.tuckey.org/urlrewrite/
<!--伪静态url重写--><filter><filter-name>UrlRewriteFilter</filter-name><filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class></filter><filter-mapping><filter-name>UrlRewriteFilter</filter-name><url-pattern>/*</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher></filter-mapping>
  • 把urlrewrite.xml 放到 WEB-INF根目录下
  • 最后配置urlrewrite.xml:主要放置一些过滤规则

以上配置全部完成,下面看一下页面中如何使用:

  • 其实页面中的地址按照你在urlrewrite中配置的规则书写即可
  • 效果

最后在网上摘录了一段关于伪静态技术的弊端的表述:
伪静态的坏处

  有人测试过,"如果流量稍大一些使用伪静态就出现CPU使用超负荷,我的同时在线300多人就挂了,而不使用伪静态的时候同时在线超500人都不挂,我的ISS数是1000"。
我们不用怀疑这个说法的真实性,其实由于伪静态是用正则判断而不是真实地址,判断到底显示哪个页面的艰巨工作需要CPU的计算来完成,因此需要消耗更多的内存来处理,同时CPU会持续上升,这正是伪静态最大的弊病。
正是由于这个原因,所以网站在采用伪静时需要站长斟酌三分,谨慎考虑清楚。

没有验证过,不知道是否是正确,希望各位有兴趣的可以深入研究一下。

最后的最后,附上一些资料:
urlrewrite.xml配置详情介绍
正则表达式的应用
查看一个网页是真静态还是伪静态

最新文章

  1. python之路十四
  2. IIR滤波器和FIR滤波器的区别与联系zz
  3. Python开发工具PyCharm个性化设置(图解)
  4. SpringMVC配置项学习笔记
  5. Java借助Runtime调用外部程序阻塞的代码
  6. Bootstrap~页面的布局
  7. 【iCore3双核心板】iCore3双核心板使用说明(图文)
  8. 动态修改log4net组件的日志文件名
  9. Jetty容器集群配置Session存储到MySQL、MongoDB
  10. C#之简单选择排序
  11. DIOR HOMME_百度百科
  12. Codeforces Round #367 (Div. 2) D. Vasiliy&#39;s Multiset
  13. python中pygame模块的Linux下安装过程
  14. 【Aho-Corasick automation 大米饼模板】
  15. python 闯关之路四(上)(并发编程与数据库理论)
  16. js常用判断和语法
  17. LOJ #2540. 「PKUWC 2018」随机算法(概率dp)
  18. CSS 选用字体
  19. (转)JavaScript的压缩
  20. bzoj1464

热门文章

  1. 图片懒加载、ajax异步调用数据、lazyload插件的使用
  2. spring学习(二)spring容器搭建与应用
  3. 委托、匿名方法到lambda表达式
  4. 2020 年百度之星&amp;#183;程序设计大赛 - 初赛三
  5. Ansible 远程服务器连接 Internet 测试
  6. layer弹窗插件留言提交
  7. Python环境搭建及中文编码
  8. PHP array_values() 函数
  9. PHP next() 函数
  10. Spring事务专题(三)事务的基本概念,Mysql事务处理原理