ASP.NET站点构建之减少不必要的请求前言本篇的一些内容比较的很有趣系统的总结了很可能平时大家也可以尽量到的一些优化点但的很的实惠本篇的议题: 识别和分析服务端的性能瓶颈(上) 内存(前篇) 缓存(前篇) CPU(后篇) 一次性处理只是请求线程(后篇) 能提高性能的一些很简单改进措施(下) 部署优化(前篇) 下降不必要长传(前篇) 增加不必要的请求(后篇) 搜索引擎问题热链接问题 验证码(CAPTCHA) 网络刮刀服务端的要一次性处理的请求一定无疑服务端的压力也就越大尤其是很是各位是需要ftp访问一些也很高级货的资源或者数据库服务端的文件等但我们可以明白在至服务端的请求中很是请求时我们希望的.例如网站的用户的请求有点各位不过是不没有必要甚至于是我们不想要的为此我们要避免这样的请求节省服务端的资源使增强性能 搜索引擎 简单来去看看有关搜索引擎的问题 然后搜索引擎爬上我们的站点是一件好的事情很多的SEO可以通过推广站点同时在站点中些文件或者资源都很的私密部分也可以我们不希望被搜素引擎帮忙和收录的是因为你每次百度搜索引擎在跪请那些个资源的时候那是你的邮箱帮忙到我们的站点服务器必然会加剧服务器的负载 不是需要被搜索引擎请求的文件一般不胜感激 图片资源 Js脚本css等 一些不需要身份验证也可以被授权才能看的页面(如果不是页面要不验证结束后才能看搜索引擎被收录了也作用不是很大) 我们可以设置一下告知搜索引擎的蜘蛛程序如何能爬我们的站点步骤: 在站点的根目录下面创建家族一个robotstxt的文件写入文件假如我们希望阻止绝大部分的搜索引擎来爬我们的站点的页面那就就也可以在文件中写入下面的配置 Useragent: Disallow:/ 假如只希望拦阻搜索引擎爬那个文件夹是可以配置万分感谢Useragent: Disallow:/images/ Disallow:/js/ Disallow:/css/ Disallow:/private/ 更感觉有趣的是对此特定搜索引擎我们还也可以变化他们的蜘蛛程序爬我们站点的频率设置追加Useragent: Crawldelay: 大家可以不去上网找下一些如何影响Google百度等蜘蛛程序的设置热链接问题 那是在A网站上面没显示一个依附B网站的图片链接.例如我们在自己的站点上面有一个链接万分感谢这样的话在别人在网页我们的站点的时候就回来了别人那个站点()去帮忙这个图片这样必然会消耗他们的服务器的资源发进来要是别人在他们的站点上按结构了我们的图片或则其余的链接资料那就用户在浏览别人的站点的时候都会消耗我们站点的服务端资源和带宽 为一个组件就这个可以阻拦这种情况的发生 aspx?tabid=&i=&g=大家去看看 验证码(CAPTCHA) 我们动不动爱在站点中一并加入一些验证码的功能来如何防止网络注册机一般是能生成一张有文字的图片后再据不验证用户输入的文字和图片中的文字有无一样来推测此时的用户是人肯定注册机验证码阻住了注册机随意的消耗站点资源(如果不是还没有验证码注册机也可以断的的注册信息大小服务器和数据库资源但有一种很多的垃圾数据) 我们自己写生成验证码的程序一般按照GDI+来做同时也可以需要一些第三方的库实现方法比如akismet:大家上网找下很多的网络刮刀(Scrapers)与Dos 这样的问题需要引起重视假如我们的站点上面有很多的有用的信息这样的话别人很可能就可能会的新一个程序赶到我们的站点破霸体信息然后把把那些内容弄到自己的站点上面.例如很多的内容型的站点每隔一天都从博客园的首页上面来抓取信息后再扔到他们的站点上增强他们的访问量的确站点被搜索引擎抓就好像有点会消耗性能了如果不是还被很多的这样的网络刮刀来抓内容对站点的性能影响可以想像 如果一些网络刮刀程序的的IP地址变化不频繁不过跪请我们站点的频率都很的由规律这样我们就可以常规一些代码的来避兔这样的请求的或我们可以不监测同一个IP是否需要在min之内发送中了个请求如果没有是我们就推断肯定是别人在抓我们的站点内容我们就委婉地拒绝那个IP的请求 不过了上面只不过一些简单的方法是对一些古怪的Dos攻击上面的监测代码基本是还没有作用是因为Dos攻击中攻击的IP地址是变化的 下面我们就写一些代码来防止最简单网络刮刀程序和简单的Dos攻击基本是的思想那是如果不是在推导的时间段内如果没有那个用户的请求很多远远超过了一定的数量那就我们就怀疑这个用户可能是网络刮刀程序接着就婉拒下面的请求一段时间之前再一次愿意这个从这个IP发出的请求 下面的代码中打比方如果没有一个用户在秒之内才发出了个只是请求那你我们就以为这是网络刮刀程序也可以是网站的攻击者当然了我们还考虑到这个邮箱里请求的用户如何确定是搜索引擎的蜘蛛程序(下面的代码只不过是很简单另外演示不是实际加工生产的代码拙见) privateconstintintervalSeconds=; privateconstintmaxRequestsInInterval=; 要是以为那个用户是反击者那你我们就阻拦用户的请求阻住时间是秒privateconstintblockedPeriodSeconds=; 下面我们创建家族一个类来详细解释一个访问者的信息: privateclassVisitorInfo privateintnbrHits; employeeboolblocked; publicVisitorInfo() nbrHits=; blocked=false; 在BotDefence类中加入一个方法IsBotAttach来可以确定一个只是请求是否是攻击性的各位: public static bool IsDosAttack() stringvisitorIP=HttpContext Current Request UserHostAddress; VisitorInfovisitorInfo=(VisitorInfo)HttpContext Current Cache[visitorIP]; if(visitorInfo==null) HttpContext Current Cache Insert( visitorIPfunVisitorInfo()null DateTime Now AddSeconds(intervalSeconds) System Web Caching Cache NoSlidingExpiration) else if(visitorInfoblocked) returntrue; visitorInfonbrHits++; if(visitorInfonbrHits>maxRequestsInInterval) visitorInfoblocked=true; HttpContextCurrentCacheInsert( visitorIPvisitorInfonull DateTimeNowAddSeconds(blockedPeriodSeconds) System Web Caching Cache NoSlidingExpiration) returntrue; returnfalse; lishixinzhi/Article/program/net/201311/13813 isindex是html5中新增的标签吗不是。 经博客园网查询isindex又不是html5中2020年规划的标签,HTML5是为SEO将div语义化了,新提升结构标签如下:section元素、article元素、aside元素等,再新增标签中也没isindex。 HTML5是互联网的下一代标准,是最终形成包括呈互联网内容的一种语言.被以为是互联网的核心技术之一。 独立博客的中国十大独立博客从单独的博客的兴起,到单独的博客领域逐渐地沦入红海,一直都有一批独具特色和专业特长的博客拥有一席之地,参照腾讯科技2012版统计和网友投票,到了最后评选出有史以来最大依旧是活跃的十大独立博客,他们分别是: 第一名,月光博客,这是一个专注于互联网和搜索引擎的研究型博客。 第二名,看破网,国内最具内涵人气和简约特色的博客,早上分享类别繁多趣闻和犀利点评的圈子。 第三名,卢松松博客,说说站长那些事儿。 第四名,36氪,踏实专注互联网创业交流和研究。 第五名,牟长青博客,seo领域的领导者。 第六名,异次元世界,草根的正版软件梦想。 第七名,学夫子,学生交流的好去处。 第八名,旅行者博客,身如污泥,心之所系莲花,修福修慧,安心立命!。 第九名,我爱水煮鱼,一个IT民工的自白书。 第十名,博客园,汇拢天下博客。 以上排名一眼就可以看出,那些博客都深深扎根于各自最细分的领域,不断地发掘出来某个特定用户的需求,最大限度地到最后尽量了内心的自我可持续的生存和发展中,将的的博客这一特殊的互联网产品延续它下来。 |