The process that occurs between a client (browser) and Web server

Explain the process that occurs between a client (browser) and Web server by describing the functionality of the OSI reference model (including OSI layers)
bowshankAsked:
Who is Participating?
 
wls3Connect With a Mentor Commented:
Without getting into OS-level function calls (since it varies from OS to OS and browser to browser), here is a good starting point.  I frame it in 2008/Vista since that is what I am most familiar with in terms of Windows internals specifics.

1) web client executable forms http request (level 7)
2) http request is passed from application level to the I/O manager (level 7)
3) I/O manager passes the request to the Winsock API (for 2008 server/vista), then, the transport SPI functions, Transport Service providers.  Several OSI levels are traversed here: Presentation, Session and Transport.
4) from the winsock kernel it is then passed to the network layer (level 3) through a variety of avenues, depending on what your system configuration is.  Beginning here you are in actual kernel mode on the operating system.  All previous steps were in user mode context.
5) The framing layer  is handled by various subsystems, depending, again on your system configuration (TCP/IP, UDP, RAW, ATM, etc).
6) The Data-link layer then handles the network structure.
7) NetIO then resolves the rest of the request

From there the transaction will depend completely on the topology.  Moving forward, an incoming request will be passed up the same stack, with some variability, depending on the OS and networking stack.  But, the version of IIS (assuming windows as your server) will vary greatly.  IIS 7/7.5 handles requests quite differently from 6.0, just as 6.0 handles it differently from 5.0.  Each version's handling of requests will vary.  The biggest difference there is that IIS 5.0 does not use http.sys, where as 6.0 (and higher) do.  However, you start getting into web server architecture at that point.  Even within both of the http.sys versions there are degrees of variability.  Let me know if that suffices or if you need more detail.  Without pinning it down to a specific OS, web browser, technology (ASP.NET, ASP, web service, etc) its hard to give specifics. I am making an assumption and presume you know about how packets are encapsulated at different layers, so, won't get into exact details for a given http response/request.  Without breaking out windbg or kdb it's nearly impossible to trace a single packet through each layer.
0
 
wls3Commented:
Are you looking for a Windows Internals level of explanation or a high level?  Also, are you looking for a specific version of Windows as the basis?  Lastly, which web browser (if a specific one)?
0
 
bowshankAuthor Commented:
also a diagram the interaction between the client and the server, and illustrate the data flow
0
Take Control of Web Hosting For Your Clients

As a web developer or IT admin, successfully managing multiple client accounts can be challenging. In this webinar we will look at the tools provided by Media Temple and Plesk to make managing your clients’ hosting easier.

 
bowshankAuthor Commented:
Just a windows internals level with no specific version of windows
0
 
bowshankAuthor Commented:
I don't require a specific version of windows
0
 
Dave BaldwinFixer of ProblemsCommented:
Wikipedia is a good resource for this: http://en.wikipedia.org/wiki/TCP/IP_network  When they set up the internet, they didn't exactly follow the OSI model.  HTTP is used between browsers and web servers and there is more detail here: http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
0
All Courses

From novice to tech pro — start learning today.