ASP.NET网站制作之ASP.NET教程:利用.ashx文件往除反复内容...
Java欺骗了我们那么多年,如今的多核时代,我认为它气数已尽!</p>分歧的链接指向的页面假如具有大批不异的内容,这类征象就会被称为“反复内容”,假如一个网站的反复内容良多,搜刮引擎就会以为这个网站的代价不高。以是我们应只管制止各类反复内容。静态网站的反复内容经常是由URL参数引发的,而URL重写会好转这一征象(对照耐人寻味哟,呵呵)。由于假如利用的是原始的URL参数的话,搜刮引擎大概会举行得当的判别,而得知反复内容是由URL参数引发的,主动的举行响应的处置;而URL重写会掩饰URL参数,反而使得搜刮引擎没法辨认URL参数。好比:
原始的URL:
http://www.freeflying.com/articles.aspx?id=231&catelog=blog
http://www.freeflying.com/articles.aspx?id=231&catelog=news
经由URL重写事后的URL:
http://www.freeflying.com/blog/231.html
http://www.freeflying.com/news/231.html
这些URL所指向的页面内容实际上是一样的,都是id=231的那篇文章,但这篇文章被blog和news两个栏目所援用,出于各类缘故原由的思索,我们终极的URL仍是如上所示。
处置的举措有两种,一种是使用呆板人(robot)协定“扫除”个中一个,另外一种是经由过程301将个中一个URL永世重定向另外一个URL。
明天我们先讲robot协定。复杂的讲,robot指的就是搜刮引擎,针对Google,我们又将其称之为“蜘蛛(spider)”。蜘蛛是很有规矩的,在抓取你的网页内容的之前,会起首收罗你的定见。而你和robot之前就基于robot协定举行相同。详细到完成,有两种体例:
1.将一个的robots.txt文本增加到网站根目次下,如:
#staticcontent,forbidallthepagesunderthe"Admin"folder
User-agent:*
Disallow:/Admin
#行暗示正文;
User-agent指搜刮引擎,*暗示针对一切搜刮引擎,也能够指定详细的搜刮引擎,如User-agent:googlebot;
Disallow指定不同意会见的目次或页面,注重:1.此文本是巨细写敏感的;2.必需以“”开首,暗示网站根目次;
和本系列的主旨一样,我们侧重谈ASP.NET手艺。以是更多的robots.txt文本的注重事项,请检察http://www.googlechinawebmaster.com/2008/03/robotstxt.html
但我们怎样静态的天生这个文件呢(这类需求实在蛮多的)?大概我们即刻想到的就是I/O操纵,在根目次下写一个txt文件……,但实在还能够有一种办法:利用一样平常处置程序(.ashx文件),代码以下:
<%@WebHandlerLanguage="C#"Class="Handler"%>
usingSystem;
usingSystem.Web;
publicclassHandler:IHttpHandler{
publicvoidProcessRequest(HttpContextcontext){
HttpResponseresponse=context.Response;
response.Clear();
//response.ContentType="text/plain";假如要用IE6检察页面的话,不克不及这一条声明,缘故原由
//上面这两句在实践利用中应当数据库等静态天生
response.Write("User-agent:*
");
response.Write("Disallow:/news/231.html
");
//援用一个静态的robots文件内容,内里存储不会改动的屏障内容
response.WriteFile("~/static-robots.txt");
response.Flush();
}
publicboolIsReusable{
get{
returnfalse;
}
}
}
一样平常处置程序完成了IHttpHandler,在后面UrlRewrite部分中,我们讲到了HttpModule,实在在ASP.NET的使用程序性命周期中,有一个称之为“管道(pipeline)”的观点:一个HTTP哀求,经由一个有一个的HttpModule的“过滤/处置”,终极抵达一个HttpHandle的“处置器”部分,HttpModule和HttpHandle就构成了一个“管道”,十分抽象哟,呵呵。贴张图吧:
<p>J2EE比较成熟一点,一些比较出名的企业应用软件都是基于J2EE的。以后的发展就不好说了。不过java比较烦,学.net的话,微软把很多工具都封装好了,学起来可能容易一点。 HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了. CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。 逐步缩小出错代码段的范围,最终确定错误代码的位置。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案. 我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。 我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。 主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。 Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。
页:
[1]