from port 80 to applications
DESCRIPTION
In this presentation I try to help developers understand all that goes in to the full web request life cycle. From the client to the server and what and where things happen.TRANSCRIPT
![Page 2: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/2.jpg)
Agenda• Why 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?
![Page 3: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/3.jpg)
This session is about you!
![Page 4: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/4.jpg)
How did we get here?Opte Projecthttp://opte.org
![Page 5: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/5.jpg)
Overview Time Line• 1960’s– Electronic mail– 1962 when the RAND tackled the problem of how they
could communicate in the aftermath of a nuclear attack
• 1969– Telnet: 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
![Page 6: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/6.jpg)
Overview• Packet-switched networking– ARPANET– Telenet– X.25
• Internet Protocol Suite– TCP/IP
![Page 7: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/7.jpg)
How dose it work?• IPv6 used to identify and locate hosts on the
network• Transport Layer handles direct host-to-host
communication tasks• Which provides a general framework to
transmit data between hosts using protocols like the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP).
![Page 8: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/8.jpg)
Or Better Said
Source: http://en.wikipedia.org/wiki/Internet_Protocol_Suite
![Page 9: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/9.jpg)
And
Source: http://en.wikipedia.org/wiki/Internet_Protocol_Suite
![Page 10: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/10.jpg)
Internet Protocol Suite• Application Layer
– BGP · DHCP · DNS · FTP · HTTP · IMAP · IRC · LDAP · MGCP · NNTP · NTP · POP · RIP · RPC · RTP · SIP · SMTP · SNMP · SSH · Telnet · TLS/SSL · XMPP · (more)
• Transport Layer– TCP · UDP · DCCP · SCTP · RSVP · ECN ·(more)
• Internet Layer– IP (IPv4, IPv6) · ICMP · ICMPv6 · IGMP · IPsec · (More)
• Link Layer– ARP/InARP · NDP · OSPF · Tunnels (L2TP) · PPP · Media Access
Control (Ethernet, DSL, ISDN, FDDI) · (more).
![Page 11: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/11.jpg)
Where web devs live• Hypertext Transfer Protocol (HTTP)– June 1999 RFC 2616 (defines HTTP/1.1)
• At First the only supported method was GET– The response from the server was always an HTML
page
• By March 1996, pre-standard HTTP/1.1 was supported in– Arena, Netscape 2.0, Netscape Navigator Gold 2.01,
Mosaic 2.7, Lynx 2.5, and in Internet Explorer 3.0. link
![Page 12: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/12.jpg)
HTTP Methods• HEAD– Like GET request, but without the response body.
• GET– Requests a representation of the specified
resource. • POST– Submits data to be processed
• PUT– Uploads a representation of the specified resource.
![Page 13: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/13.jpg)
HTTP Methods• DELETE
– Deletes the specified resource.
• TRACE– Echoes back the received request
• OPTIONS– Returns the HTTP methods that the server supports for
specified URL
• CONNECT– Converts the request connection to a transparent TCP/IP
tunnel
• PATCH– Is used to apply partial modifications to a resource.
![Page 14: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/14.jpg)
Request Life Cycle
Client Request (URL)
Name Server resolves ULR with Domain name system
(DNS)
http://bing.com
http:
//65
.55.
175.
254
http://65.55.175.254
Request Routing
Server Processes
Response to client
![Page 15: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/15.jpg)
Where is the Magic?
![Page 16: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/16.jpg)
Web Servers• Receive Request• Process Request– ISAPI (Internet Server Application Programming Interface)
– CGI (Common Gateway Interface)
– IIS 7 (Managed Code or Unmanaged Code)
• Return Requested Resource– Or Error if not available
![Page 17: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/17.jpg)
IIS 7
![Page 18: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/18.jpg)
IIS Cycle
![Page 19: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/19.jpg)
Process RequestFor IIS 7 & ASP.NET
![Page 20: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/20.jpg)
ASP.NET Page
![Page 21: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/21.jpg)
ASP.NET MVC
![Page 22: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/22.jpg)
DEMO
![Page 23: From port 80 to applications](https://reader034.vdocuments.us/reader034/viewer/2022051513/54806871b4af9fa5158b5ccd/html5/thumbnails/23.jpg)
Resources • Internet History– computerhistory.org/internet_history/– www.zakon.org/robert/internet/timeline/– en.wikipedia.org/wiki/
Timeline_of_popular_Internet_services• Tools– http://fiddler2.com– http://msdn.microsoft.com/en-us/ie/aa740478– http://code.google.com/chrome/devtools/