专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

http请求response拦截(IIS)

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:40:59       共计:3638 浏览

基于微软系IIS开发的网站response拦截器的研究与实现

目的:针对微软系IIS开发的网站的response的拦截器的研究,插入一段js代码
工具:使用IIS response filter
语言:VB / C#
测试环境:本次测试主要在win7上进行,使用微软自带的IIS,版本为7.5

IIS处理http请求的原理:

在介绍原理之前,我们先认识俩个名词:工作进程、应用程序池。
工作进程:在IIS中,工作进程(w3wp.exe)运行ASP.NET程序管理所有请求。ASP.NET都运行在工作进程中,当请求到来时,工作进程会生成Request和 Response相关信息。
应用程序池:应用程序池是工作进程的容器,一个程序出错或资源回收,应用程序池之间独立互不影响。
HTTP.SYS负责把请求传入相应的应用程序池中 -> 应用程序池接收到请求 -> 开启工作进程(w3wp.exe)。该进程检查所有的URL加载哪个扩展asp.net ,加载时会附带自己的ISAPI扩展(aspnet_isapi.dll),以便在IIS中映射
一旦加载aspnet_isapi.dll就会构造HttpRunTime类(应用程序入口) 通过HttpRunTime.ProcessRequest()方法处理请求。
一旦调用此方法,一个HttpContext的实例产生,通过HttpContext.Current._ 获取实例 ,可以获取一些常用的对象,比如:Request、Response、Session等。
之后HttpRunTime会通过HttpApplicationFactory类加载一个HttpApplication对象
每一次请求都要穿过一堆堆的HttpModule到达HttpHandler —— 通过自定义HttpModule来再请求和响应之间做处理。可见附图:

win7的IIS发布网站系统 部署项目:

1、确保系统上已经安装IIS,如果没有安装,通过【控制面板】→【程序】→【程序和功能】→【打开或关闭Windows功能】选中Internet信息服务下面的所有选项,确定

对应用程序开发功能进行如下配置:
控制面板->打开或关闭windows功能->Internet信息服务->万维网服务->应用程序开发功能,勾选上“.net扩展性”、“ASP.NET”、“ISAPI扩展”、”ISAPI筛选器”,保存后,重启IIS服务器即可。

2、打开IIS,在网站上右击,选择【添加网站】

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:c# – 我怎样才能让Selenium-WebDriver在sendkey之后等待几秒钟? | ·下一条:web服务器

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有