Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
What exactly happens when ASPX page is requested from Browser
What exactly happens when ASPX page is requested from Browser?
✍: Guest
Note: - Here the interviewer is expecting complete flow of how an ASPX page is processed
with respect to IIS and ASP.NET engine.
Following are the steps which occur when we request a ASPX page :-
1. The browser sends the request to the webserver. Let us assume that the
webserver at the other end is IIS.
2. Once IIS receives the request he looks on which engine can serve this request.
When I mean engine means the DLL who can parse this page or compile and
send a response back to browser. Which request to map to is decided by file
extension of the page requested.
Depending on file extension following are some mapping
3. .aspx, for ASP.NET Web pages,
4. .asmx, for ASP.NET Web services,
5. .config, for ASP.NET configuration files,
6. .ashx, for custom ASP.NET HTTP handlers,
7. .rem, for remoting resources
8. Etc
You can also configure the extension mapping to which engine can route by using the IIS
engine.
Example an ASP page will be sent to old classic ASP.DLL to compile. While .ASPX
pages will be routed to ASP.NET engine for compilation.
9. As this book mainly will target ASP.NET we will look in to how ASP.NET
pages that is ASPX pages generation sequence occurs. Once IIS passes the
request to ASP.NET engine page has to go through two section HTTP module
section and HTTP handler section. Both these section have there own work
to be done in order that the page is properly compiled and sent to the IIS.
HTTP modules inspect the incoming request and depending on that they can
change the internal workflow of the request. HTTP handler actually compiles
the page and generates output. If you see your machine.config file you will see
following section of HTTP modules
<httpModules> <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" /> <add name="Session" type="System.Web.SessionState.SessionStateModule" /> <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" /> <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" /> <add name="PassportAuthentication" type="System.Web.Security.PassportAuthenticationModule" /> <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" /> <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" /> <add name="ErrorHandlerModule" type="System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" / > </httpModules>
The above mapping will show which functionality is handled by which Namespace.
Example FormsAthuentication is handled by “System.Web.
Security.FormsAuthenticationModule”. If you look at the web.config section HTTP module
is where authentication and authorization happens.
Ok now the HTTP handler is where the actual compilation takes place and the output is
generated. Following is a paste from HTTP handler section of WEB.CONFIG file.
<httpHandlers> <add verb="*" path="*.vjsproj" type="System.Web.HttpForbiddenHandler" /> <add verb="*" path="*.java" type="System.Web.HttpForbiddenHandler" /> <add verb="*" path="*.jsl" type="System.Web.HttpForbiddenHandler" /> <add verb="*" path="trace.axd" type="System.Web.Handlers.TraceHandler" /> <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory" /> <add verb="*" path="*.ashx" type="System.Web.UI.SimpleHandlerFactory" /> ... </httpHandlers>
10. Depending on the File extension handler decides which Namespace will
generate the output. Example all .ASPX extension files will be compiled by
System.Web.UI.PageHandlerFactory
11. Once the file is compiled it will be send back again to the HTTP modules and
from there to IIS and then to the browser.
2007-10-24, 8172👍, 0💬
Popular Posts:
How can you implement MVC pattern in ASP.NET? The main purpose using MVC pattern is to decouple the ...
Can you explain project life cycle ? Figure :- 12.2 Life cycle of a project There are five stages of...
Can one change the mouse pointer in Forms? The SET_APPLICATION_PROPERTY build-in in Oracle Forms all...
What is normalization? What are different types of normalization? It is set of rules that have been ...
.NET INTERVIEW QUESTIONS - What is COM ? Microsoft’s COM is a technology for component software deve...