从网站技术发展角度来说,网站最早期是由一个个静态页面组成的,需要人工手动来维护,很是麻烦。随着网站内容及页面越来越多,静态网页已无法满足需要,于是出现了动态Web开发技术,而动态网站中的动态页面使用的URL可能需要很多传参,URL可读性差,而且不利于搜索引擎收录,于是又出现了伪静态技术。
那纯静态页面和伪静态页面有哪些区别呢?
文件性质上的区别
1、纯静态页面就是后缀名为.html的文件;
2、伪静态页面虽然在URL中看后缀是.html之类的,但此页面是逻辑存在的(服务器硬盘上未必有此文件),本质上它是一个动态程序页,后缀可能是.php或者.aspx或者.java等。
性能上静态页面访问更快
从性能上说,如果访客访问的是静态页面,服务器接受到请求后找到此静态页面就直接发送给客户端,服务器不需要进行额外的处理,性能好,不会过多占用服务器资源。
而伪静态网页在服务器接到请求后,要进行一系列的处理,比如去数据库中查询数据后再向模板中填充数据,最终渲染出HTML页面后再发送给客户端,所以伪静态网页是会占用服务器资源的。
URL友好度上伪静态网页可自定义性更强
伪静态网页相比较静态网页来说,在URL友好度上更占优势。比如我们可以通过URL重写规则批量将某个动态网页的URL转换为某种格式的伪静态URL,而对于静态URL就必须要改静态页面的文件名,如果静态网页过多,改起来很费事。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流~我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!所谓伪静态就是通过一定的技术手段,将原先一条不存在的URL地址映射到已存在的文件上,其目的是实现动态网页内容的静态化,提高搜索引擎收录率。
方法/步骤:
1、IIS 7.0以上服务器
微软IIS 7.0以上版本完全重写了IIS的内核结构,采用模块化的设计构架,URL重写也成为可选安装的模块之一。朝暮数据的全部虚拟主机都安装了URL重写模块,因此客户可以通过轻松的配置web.config文件来实现伪静态功能。
下面是实现第一段所述伪静态规则的web.config代码。
<?xml version="1.0" encoding="UTF-8"?><configuration> <system.webServer> <rewrite> <rules> <rule name="已导入的规则 1"> <match url="product/([a-z]+)/([0-9]+)" ignoreCase="false" /> <action type="Rewrite" url="product.aspx?category={R:1}&ampid={R:2}" appendQueryString="false" /> </rule> </rules> </rewrite> </system.webServer></configuration>
2、Apache服务器
Linux系统下的Apache服务器在伪静态设置方面比较简单。由于Apache的mod_rewrite模块默认就是开启的,所以站长只需在空间下上传正确的.htaccess配置文件即可。下面也给出实现上述伪静态功能的规则代码。
RewriteEngine onRewriteRule product/([a-z]+)/([0-9]+) product.php?category=$1&id=$2
3、IIS 6.0服务器
在IIS 6.0环境下,无论是ASP、ASP.NET或者是PHP程序,我们都可以借助第三方的Rewrite组件来实现静态化,点此下载组件。
将该组件下载到服务器的C盘,解压后对目录设置权限,赋予Users组读取和运行权限。
4、打开该目录下的httpd.ini文件,这里是伪静态规则设置的核心。比如我们要实现上述功能,可以这样编写规则代码。
[ISAPI_Rewrite]了http://m.fulinmenst.com/m/prod_view.aspx?TypeId=65&Id=183&Fid=t3:65:3&typefid=65
RewriteRule ^/product/([a-z]+)/(\d+)\?*(.*)$ /product.aspx\?category=$1&id=$2
5、下面就是将该组件配置到IIS中了。打开网站属性,点击ISAPI筛选器选项卡,再点击添加按钮。
6、在对话框中,输入筛选器名称,如rewrite,然后定位到我们之前解压下来的可执行文件Rewrite.dll上。
至此,基于IIS 6.0的伪静态配置完毕。如果有多个站点,那么就复制同样的Rewrite目录,然后定位到不同目录中的Rewrite.dll即可。如果要修改规则,只需修改httpd.ini文件,保存后即时生效,无需重启IIS。
ASP.NET Routing
.NET框架从4.0版本起开始支持Routing功能,如果您的代码是ASP.NET编写的,则可以考虑使用这种静态化方式。这种方式的好处就是无需在服务器上做配置,并且伪静态的URL地址和整个代码是天然一体的,代码中可以自动生成静态化URL,避免了在.htaccess/web.config模式下,一旦修改了伪静态规则,还要修改代码中的静态化网址的麻烦。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)