知识大全 ASP.NET伪静态的实现及伪静态的意义

Posted

篇首语:金鞍玉勒寻芳客,未信我庐别有春。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET伪静态的实现及伪静态的意义相关的知识,希望对你有一定的参考价值。

ASP.NET伪静态的实现及伪静态的意义  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

    一 伪静态的用处    有些用户觉得 伪静态和真静态实际被收录量会相差很大 其实不然 从你个人角度 你去判断一下一个帖子到底是真静态还是伪静态?估计很难看得出 因为所谓静态的意思 就是地址中不带问号 不带问号的就是静态 管他是真的还是伪的?搜索引擎看得出吗?所以说 其实不论是真的还是伪的 其实对于搜索引擎来说都是一样的 搜索引擎没有说 你这个是伪的 我不收录你     追根究底来说 为什么搜索引擎会不收录带问号的网址?因为搜索引擎怕由于问号而进入死循环 称为 搜索机器人陷阱(Spidertraps) (以前动网就有这样一个漏洞 蜘蛛进去出不来了) 所以很多时候带问号的地址搜索引擎是不会进去的 伪静态对于搜索引擎来说 其实就是静态 因为地址中没有带问号 所以没有真静态比伪静态收录得多的说法 二 为什么选择伪静态?    有很多用户说 真静态不好吗?为什么不用真静态?访问起来不是更快吗?负载不是更好吗?等等等等     在这里 其实只用一个问题来回答 为什么选择MYSQL?很多用户大概不明白为什么那么多大型论坛都选择了MYSQL数据库作为储存机制 大概大部分都是想 因为DZ用了MYSQL 所以就是MYSQL     其实不然 试想DZ为什么会在那么多论坛程序并存的日子生存下来并笑傲江湖 很大原因是因为DZ用了MYSQL 试想如果大C当年改的程序是一个文本论坛 那还会有DZ的今天吗?或者从另一个角度问 为什么那么多大型网站都选择了MYSQL而不是文本作为储存机制?    所谓文本论坛 实际就跟真静态的说法差不多了 将数据储存在空间上面 大量读写硬盘 等等     为什么这种写法会被淘汰呢?我相信答案不会是老师所说的 Discuz!目前有 篇帖子 存储成的话大约是 M 也就是 G左右 这当中还不计算由于磁盘存储机制造成的空间浪费( 个 k的文件占用的空间可能会是 K)     这种说法从我个人观点来看 这个理由不能给用户不使用真静态充分的理由 然而 另一个理由却是值得我们注意思考的 也是为什么绝大多数站都不选择生成静态     删除 更新这些内容会导致大量的磁盘io操作以及大量的磁盘碎片     正如上面的说法 在实际当中确实会导致大量的磁盘I/O操作(input/output) 大量进行I/O操作带来的后果可想而知 会产生大量的磁盘碎片甚至会导致硬盘出现坏道     所以对于生成静态而言 还不如去用文本论坛 可以更好的解决你们的需求 (副W就是做文本论坛出生的 当时的名字为ofstar 后因发展困难转为MYSQL 而PW生成静态页面也就是PW以前文本方式稍加改进用于吸引用户眼球的噘头)    当然 如果大家记忆力好的话 应该可以记得PW 的时候PW论坛不能访问很长一段时间 后来恢复到一段时间前的数据 官方的说法是被人攻击而导致硬盘损坏 其实这种说法是比较不可信的 相对于是被攻击导致硬盘损坏还是大量I/O操作而产生的后果 我个人更倾向于后者     当然 如果大家比较关注 d d的话 应该知道前几天有一天时间 d d无法访问 根据非官方消息是因为硬盘坏了 而损坏的原因我想当然是因为大量用户大量进行I/O操作了 试想 我们一个论坛 进行磁盘I/O操作的仅为管理员进行更新缓存时进行的 而 d d每一个会员就是一个管理员 试想下对磁盘是多大的考验?所以我并不奇怪 d d的硬盘坏了     当然 也许在读这篇文章的很多朋友都有使用过BT 也听说过BT对硬盘很伤 不能开多 而所谓伤害 和这里指的都是同一样东西 大量I/O导致磁盘出现碎片甚至出现磁盘坏道     这里都是说些很实际的例子来说明问题了     三 伪静态的坏处    当然犹如一篇文章的作者所说的 如果流量稍大一些使用伪静态就出现CPU使用超负荷 我的同时在线 多人就挂了 而不使用伪静态的时候同时在线超 人都不挂 我的ISS数是     确实是这样的 由于伪静态是用正则判断而不是真实地址 分辨到底显示哪个页面的责任也由直接指定转由CPU来判断了 所以CPU占有量的上升 确实是伪静态最大的弊病   四 我们应该选择伪静态还是真静态?    我们来总结一下     使用真静态和假静态对SEO来说没有什么区别    使用真静态可能将导致硬盘损坏并将影响论坛性能    使用伪静态将占用一定量的CPU占有率 大量使用将导致CPU超负荷    最重要的一点 我们要静态是为了SEO    所以     使用真静态的方法可以直接排除了 因为无论怎么生成 对硬盘来说都是很伤的     既然真伪静态的效果一样 我们就可以选择伪静态了     但是伪静态大量使用会照成CPU超负荷     所以我们只要不大量使用就可以了     既然静态只是给SEO看的 我们只需要伪静态给SEO就行了 不需要给用户使用     所以我们只要在专门提供给SEO爬的Archiver中使用伪静态就可以了     谢谢大家耐心看我写的文章     有何不解的地方或是有不同的看法欢迎提出 五 关于伪静态和真静态的评论    真正的静态化和伪静态还是有本质的区别的 为浏览用户处理一个纯粹和一个调用多个数据的php在CPU的使用率方面明显前者少 记得原来有个人说下载硬盘读写频繁 他这么说好像读取数据库不用读写磁盘似的 何况还有一大堆缓存的零散php也是放在硬盘的 这些读取不用磁盘操作么?可笑     读取单个+图片Flash等附件就可以实现的目的 何苦要读数据库又要读php缓存文件又要重新整合数据输出再+图片Flash等附件这么大费周章呢?CMS首页不需要很多的互动的 论坛那一套不应该拿到这里来用 相反应该更多考虑的是 美观!兼容!信息的直观!性能!还有稳定!    其实所谓的伪静态页面 就是指的URL重写 在ASP NET中实现非常简单    首先你要在你的项目里引用两个DLL:    ActionlessForm dll    URLRewriter dll    真正实现重写的是 URLRewriter dll   但是如果你要实现分页 那么必须使用这个ActionlessForm dll    首先在nfig里写    <configSections>    <section name= RewriterConfig type= URLRewriter Config RewriterConfigSerializerSectionHandler URLRewriter />    </configSections>    <Modules>    <add type= URLRewriter ModuleRewriter URLRewriter name= ModuleRewriter />    </Modules>    <! 下面是配置重写URL规则 >    <RewriterConfig>    <Rules>    <RewriterRule>    <LookFor>~/Products/Jurisdiction_(w ) aspx</LookFor>    <SendTo>~/En/Jurisdiction aspx?jurid=$ </SendTo>    </RewriterRule>    <RewriterRule>    <LookFor>~/Articles/(d ) aspx</LookFor>      <! 这个是被代替后的文件名 使用到正则表达式 >    <SendTo><![CDATA[~/En/Article_view aspx?article_id=$ ]]></SendTo>      <! 这个是要给代替的网页 一般是带有问号后面带参数的网页 >    </RewriterRule>    <RewriterRule>    <LookFor>~/Articles/(d )_(d ) aspx</LookFor>    <SendTo><![CDATA[~/En/Article_view aspx?article_id=$ &page=$ ]]></SendTo>    </RewriterRule>    </Rules>    </RewriterConfig>    这样比如上面的网址x?article_id= 就可以用x来代替 当然 你代替后的扩展名可以用任何iis能解释的扩展名 如果你喜欢用做扩展名 那么在配置转发规则上面配置为为扩展名的 同样有些文章可能很长 往往我们会把一个文章分成几页 那么根据上面的配置 我们如果想访问x?article_id= &page= 我们就可以用x来代替 这样当搜索引擎来抓起你的网页的时候 就会收录你这些网址下去 别人搜索到你网页的时候 就可以从这些地址链接过来     然后这样操作:    右键点我的电脑 >管理 >展开 服务和应用程序 >internet信息服务 >找到你共享的目录 >右键点击属性 >点击 配置 >    映射下面 >找到 aspx的可执行文件路径复制路径 >粘贴路径 >扩展名为l >然后把检查文件是否存在的勾去掉这样就可以了 cha138/Article/program/net/201311/11583

相关参考

知识大全 ASP.NET动态生成静态页面的实例代码

ASP.NET动态生成静态页面的实例代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!生成静态页有

知识大全 ASP.NET生成静态网页的方法

ASP.NET生成静态网页的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASPNET生成

知识大全 Asp.Net中动态页面转静态页面

Asp.Net中动态页面转静态页面  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  关于在AspN

知识大全 ASP.NET生成静态页面和分页主要的原理

ASP.NET生成静态页面和分页主要的原理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  静态模

知识大全 ASP.NET中实现访问链接的静态地址映射

ASP.NET中实现访问链接的静态地址映射  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  pro

知识大全 ASP.NET入门教程 3.1静态页面设计[2]

ASP.NET入门教程3.1静态页面设计[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 ASP.NET入门教程 3.1静态页面设计[1]

ASP.NET入门教程3.1静态页面设计[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 PHP 伪静态技术原理以及突破原理实现介绍

PHP伪静态技术原理以及突破原理实现介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!伪静态技术比

知识大全 php实现伪静态的方法

cha138/Article/program/PHP/201311/21163

知识大全 URL Rewrite实现jsp网站伪静态

URLRewrite实现jsp网站伪静态  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  tuck