Request.PathInfo
是ASP.NET中一个非常重要的属性,它返回当前请求的URL路径信息,但不包括域名和端口号,这个属性特别适用于需要根据URL路径的不同部分来处理请求的场景。
如何区分http协议的无状态和长连接?
HTTP是无状态的也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。 如果客户端浏览器访问的某个HTML或其他类型的 Web页中包含有其他的Web资源,如javaScript文件、图像文件、CSS文件等;当浏览器每遇到这样一个Web资源,就会建立一个HTTP会话 HTTP1.1和HTTP1.0相比较而言,最大的区别就是增加了持久连接支持(貌似最新的 http1.0 可以显示的指定 keep-alive),但还是无状态的,或者说是不可以信任的。 如果浏览器或者服务器在其头信息加入了这行代码 Connection:keep-alive TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。 保持连接节省了为每个请求建立新连接所需的时间,还节约了带宽。 实现长连接要客户端和服务端都支持长连接。 所谓长连接指建立SOCKET连接后不管是否使用都保持连接,但安全性较差,所谓短连接指建立SOCKET连接后发送后接收完数据后马上断开连接,一般银行都使用短连接短连接:比如http的,只是连接、请求、关闭,过程时间较短,服务器若是一段时间内没有收到请求即可关闭连接。 长连接:有些服务需要长时间连接到服务器,比如CMPP,一般需要自己做在线维持。 最近在看“服务器推送技术”,在B/S结构中,通过某种magic使得客户端不需要通过轮询即可以得到服务端的最新信息(比如股票价格),这样可以节省大量的带宽。 传统的轮询技术对服务器的压力很大,并且造成带宽的极大浪费。 如果改用ajax轮询,可以降低带宽的负荷(因为服务器返回的不是完整页面),但是对服务器的压力并不会有明显的减少。 而推技术(push)可以改善这种情况。 但因为HTTP连接的特性(短暂,必须由客户端发起),使得推技术的实现比较困难,常见的做法是通过延长http 连接的寿命,来实现push。 接下来自然该讨论如何延长http连接的寿命,最简单的自然是死循环法:【servlet代码片段】public void doGet(Request req, Response res) {PrintWriter out = ();……正常输出页面……();while (true) {(输出更新的内容);();(3000);} }如果使用观察者模式则可以进一步提高性能。 但是这种做法的缺点在于客户端请求了这个servlet后,web服务器会开启一个线程执行servlet的代码,而servlet由迟迟不肯结束,造成该线程也无法被释放。 于是乎,一个客户端一个线程,当客户端数量增加时,服务器依然会承受很大的负担。 要从根本上改变这个现象比较复杂,目前的趋势是从web服务器内部入手,用nio(JDK 1.4提出的包)改写request/response的实现,再利用线程池增强服务器的资源利用率,从而解决这个问题,目前支持这一非J2EE官方技术的服务器有glassfish和Jetty(后者只是听说,没有用过)
ASP伪静态
大多数网站的文章页都是使用的静态页面,不仅是为了SEO,也为了减轻服务器压力.但有的为了实时显示某些信息或运用动态脚本,就使用了伪静态技术.伪静态是指动态网页通过重写URL的方法将动态网页的参数去掉,但在实际的网页目录中并没有必要实现存在重写的页面.做伪静态最主要的就是为了方便搜索引擎蜘蛛来抓取网页上的相关内容,在SEO排名过程中,网页静态化也是一项不可忽略的因素.不过伪静态使用过多,也将会导致服务器CPU超负荷,影响网站性能.究竟是使用伪静态还是静态,这需要根据网站自身特点来选择.一般来说,静态与伪静态对于SEO来说没有太大的本质区别,但如果太多的伪静态影响到了服务器,那么对于SEO来说也会产生一定影响,因此如果必须要使用伪静态,那么最好只是在针对SEO的Archiver中使用就可以了.希望我们的回答能对你有所帮助!
怎么用ISAPI Rewrite实现asp .net 2.0的网站程序伪静态设置????
ASP之URL重写
下载ISAPI_Rewrite解压到任意文件夹安装,给IIS用户读取权限,在IIS右键点击一个站点,属性,ISAPI筛选器,添加,筛选器名称一定得叫 re,可执行文件就点浏览找到你解压的目录加上即可。
重启IIS后应该就能支持URL重写规则了。
需要修改解压目录中的这个文件
RewriteRule /info_(\d+)\ /info\\?id=$1 [N,I]
这句话就可以把提交的地址映射到真正的地址如果你在处理数据翻页,那么写法是:More_<%=Page%>_<%=type%> (注:page是翻页页数,type是数据类型)表现形式:More_1_如果翻下一页,则为:More_2_,继续下一页的循环,则是:More_3_,以此类推。不过你需要在文件中增加以下代码:RewriteRule /More_(\d+)_(\d+)\ /jsp/more\\?page=$1&type=$2 [N,I]如果你的动态程序有多个参数需要传递,那么就增加多个(\d+)即可,如下:RewriteRule /More_(\d+)_(\d+)_(\d+)\ /jsp/more\\?page=$1&type=$2&type2=$3 [N,I]翻页处理表现形式是:More_1_
【方法不是吹牛的】慢慢看人家是怎么做的吧














发表评论