from port 80 to applications

24
From Port 80 to Applications @woodyp [email protected] www.woodyp.info

Upload: woody-pewitt

Post on 28-Nov-2014

1.247 views

Category:

Technology


0 download

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 1: From port 80 to applications

From Port 80 to Applications

@[email protected]

Page 2: From port 80 to applications

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

This session is about you!

Page 4: From port 80 to applications

How did we get here?Opte Projecthttp://opte.org

Page 5: From port 80 to applications

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

Overview• Packet-switched networking– ARPANET– Telenet– X.25

• Internet Protocol Suite– TCP/IP

Page 7: From port 80 to applications

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

Or Better Said

Source: http://en.wikipedia.org/wiki/Internet_Protocol_Suite

Page 9: From port 80 to applications

And

Source: http://en.wikipedia.org/wiki/Internet_Protocol_Suite

Page 10: From port 80 to applications

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

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

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

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

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

Where is the Magic?

Page 16: From port 80 to applications

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

IIS 7

Page 18: From port 80 to applications

IIS Cycle

Page 19: From port 80 to applications

Process RequestFor IIS 7 & ASP.NET

Page 20: From port 80 to applications

ASP.NET Page

Page 21: From port 80 to applications

ASP.NET MVC

Page 22: From port 80 to applications

DEMO

Page 23: From port 80 to applications

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/

Page 24: From port 80 to applications

Thank YouWoody PewittTechnical EvangelistDevExpress

@[email protected]://blog.pewitt.org