From Port 80 to Applications@woodypwoody@pewitt.orgwww.woodyp.info
AgendaWhy do you want to be here?Where did the web come from?What parts are there to the web?What is a web server?What is a web browser?How can we control the experience?What dose ASP.NET do?Why are there web forms and MVC?What more should you know?
This session is about you!
How did we get here?Opte Projecthttp://opte.org
Overview Time Line1960’sElectronic mail1962 when the RAND tackled the problem of how they could communicate in the aftermath of a nuclear attack1969Telnet: A system for logging in, over a network, to a computer situated in another location.ARPANET connected Stanford research Institute in Santa Barbara to the University of Utah…Source: http://www.zakon.org/robert/internet/timeline/  & http://en.wikipedia.org/wiki/Timeline_of_popular_Internet_services
OverviewPacket-switched networkingARPANETTelenetX.25 Internet Protocol SuiteTCP/IP
How dose it work?IPv6 used to identify and locate hosts on the networkTransport Layer handles direct host-to-host communication tasksWhich provides a general framework to transmit data between hosts using protocols like the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP).
Or Better SaidSource: http://en.wikipedia.org/wiki/Internet_Protocol_Suite
AndSource: http://en.wikipedia.org/wiki/Internet_Protocol_Suite
Internet Protocol SuiteApplication LayerBGP · DHCP · DNS · FTP · HTTP · IMAP · IRC · LDAP · MGCP · NNTP · NTP · POP · RIP · RPC · RTP · SIP · SMTP · SNMP · SSH · Telnet · TLS/SSL · XMPP · (more)Transport LayerTCP · UDP · DCCP · SCTP · RSVP · ECN ·(more)Internet LayerIP (IPv4, IPv6) · ICMP · ICMPv6 · IGMP · IPsec · (More)Link LayerARP/InARP · NDP · OSPF · Tunnels (L2TP) · PPP · Media Access Control (Ethernet, DSL, ISDN, FDDI) · (more).
Where web devs liveHypertext Transfer Protocol (HTTP)June 1999 RFC 2616 (defines HTTP/1.1)At First the only supported method was GETThe response from the server was always an HTML pageBy March 1996, pre-standard HTTP/1.1 was supported inArena, Netscape 2.0, Netscape Navigator Gold 2.01, Mosaic 2.7, Lynx 2.5, and in Internet Explorer 3.0. link
HTTP MethodsHEADLike GET request, but without the response body.GETRequests a representation of the specified resource. POSTSubmits data to be processedPUTUploads a representation of the specified resource.
HTTP MethodsDELETEDeletes the specified resource.TRACEEchoes back the received requestOPTIONSReturns the HTTP methods that the server supports for specified URLCONNECTConverts the request connection to a transparent TCP/IP tunnelPATCHIs used to apply partial modifications to a resource.
Request Life CycleClient Request (URL)http://bing.comhttp://65.55.175.254http://65.55.175.254Response to clientRequest RoutingName Server resolves ULR with Domain name system (DNS)Server Processes
Where is the Magic?
Web ServersReceive RequestProcess RequestISAPI (Internet Server Application Programming Interface)CGI (Common Gateway Interface)IIS 7 (Managed Code or Unmanaged Code)Return Requested ResourceOr Error if not available
IIS 7
IIS Cycle
Process RequestFor IIS 7 & ASP.NET
ASP.NET Page
ASP.NET MVC
DEMO
Resources Internet Historycomputerhistory.org/internet_history/www.zakon.org/robert/internet/timeline/en.wikipedia.org/wiki/Timeline_of_popular_Internet_servicesToolshttp://fiddler2.comhttp://msdn.microsoft.com/en-us/ie/aa740478http://code.google.com/chrome/devtools/
Thank YouWoody PewittTechnical EvangelistDevExpress@woodypwoody@pewitt.orghttp://blog.pewitt.org

From port 80 to applications

Editor's Notes

  • #5 http://opte.org
  • #6 http://www.zakon.org/robert/internet/timeline/http://en.wikipedia.org/wiki/Timeline_of_popular_Internet_services
  • #9 http://en.wikipedia.org/wiki/Internet_Protocol_Suite
  • #10 http://en.wikipedia.org/wiki/Internet_Protocol_Suite
  • #12 http://holykaw.alltop.com/the-history-of-web-browsers-infographic
  • #15 Demo in IE & Chrome
  • #17 ISAPI http://msdn.microsoft.com/en-us/library/at50e70y(VS.80).aspxCGI http://www.iis.net/ConfigReference/system.webServer/cgi
  • #18 The following list describes the request-processing flow:When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request.HTTP.sys contacts WAS to obtain information from the configuration store.WAS requests configuration information from the configuration store, applicationHost.config.The WWW Service receives configuration information, such as application pool and site configuration.The WWW Service uses the configuration information to configure HTTP.sys.WAS starts a worker process for the application pool to which the request was made.The worker process processes the request and returns a response to HTTP.sys.The client receives a response.
  • #22 MVC was first described in 1979[2] by TrygveReenskaug, then working on Smalltalk at Xerox PARC. The original implementation is described in depth in the influential paper "Applications Programming in Smalltalk-80: How to use Model–View–Controller".[3]- From wikipedia (http://en.wikipedia.org/wiki/Model-view-controller)
  • #24 All overcomputerhistory.org/internet_history/www.zakon.org/robert/internet/timeline/en.wikipedia.org/wiki/Timeline_of_popular_Internet_serviceshttp://fiddler2.comhttp://msdn.microsoft.com/en-us/ie/aa740478http://code.google.com/chrome/devtools/