伪静态
伪静态是相对真实静态来讲,
目的:
是为了增强搜索引擎的有好面
区别
1.与URL结构及页面名称来看伪静态和静态页面一样,都是以html结尾的
2.伪静态在是改变URL的表现形式,实际上还是动态页面
3.静态页面可以节省服务器资源,而伪静态增加了服务器资源的消耗
弊端:
1.网站的并发量低,伪静态是用正则判断而不是真实地址,分别显示是直接有CPU来判断,当流量过大时出现CPU超负荷
2.网页打开慢,伪静态也要读取数据库,额外多了一个重新网址的过程
3.大量的重复页面,做了伪静态后,原有的页面也可以访问,这就造成了大量的伪静态页面和动态页面重复,对网站极为不好
4.需要服务器的支持,成本高
例如Spring的web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="jt-manage" version="2.5">
<display-name>jt-web</display-name>
<!-- 编码过滤器,以UTF8编码 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 配置SpringMVC -->
<servlet>
<servlet-name>springmvc-web</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 指定SpringMVC配置文件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/application*.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- 第一条请求路径 -->
<servlet-mapping>
<servlet-name>springmvc-web</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<!-- 防止springMVC框架返回json时和html冲突报 406 错误 -->
<!-- 第二条请求路径 -->
<servlet-mapping>
<servlet-name>springmvc-web</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>