16
The Principles of Web Technology Management http://purl.org/net/wtm [email protected] Principia Webica

Web Technology Management Lecture III

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Web Technology Management Lecture III

The Principles of Web TechnologyManagement

http://purl.org/net/wtm

[email protected]

Principia Webica

Page 2: Web Technology Management Lecture III

HTTP protocol, CGIweb application objects

&Principles of Web Design

HTTP

Page 3: Web Technology Management Lecture III

HTTP – RFC 2616http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol

The Hypertext Transfer Protocol (HTTP) is a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web.

HTTP/0.9 — 1990, HTTP/1.0 — May 1996, HTTP/1.1 — June 1999

The most important current document – RFC 2616 – defines HTTP/1.1 - http://tools.ietf.org/html/rfc2616

Page 4: Web Technology Management Lecture III

HTTP – main features HTTP is …

application Layer protocola Request-Response protocol in the Client-Server computing model:Clients: Users Agents – UA(browsers, crawlers, robots,

spiders, proxies etc)Servers: Web Servers (including proxies)

stateless protocol (each request as an independent transaction that is unrelated to any previous request so that the communication consists of independent pairs of requests and responses)

resource (network data objects) based. Resources are identified by URL (Uniform Resource Locators)

Page 5: Web Technology Management Lecture III

HTTP – main features HTTP basic operational model

Page 6: Web Technology Management Lecture III

HTTP – main features IX HTTP methods (verbs)

HEADGETPOSTPUTDELETETRACEOPTIONSCONNECTPATCH

Safe methods

Idempotent methods

Page 7: Web Technology Management Lecture III

HTTP – main features Naked HTTP illustrated

Page 8: Web Technology Management Lecture III

CGI – Common Gateway Interface Talk to your server

Połączen ie TCP

http: / / e.m m .com .pl

POS T / cgi- bin/ order.exe HTTP/ 1.1Host: e.m m .com .plContent-Type:application/ x- www- form - urlencodedContent- Length: 140

Nam e=Kowalski & Produkt=Buty & Cena = 101 & B1=S ubm it

Nam e=Kowalski & Produkt=Buty & Cena = 101 & B1=S ubm it

HTTP/ 1.1 200 OKS erver: . . . . .Content- Length: 667

<htm l><head>... . . .

PO S T / cg- bin / order.exe HTTP / 1.1Host: e .m m .com .pl

80

order.exe

I m ię

Produkt

. . . . .

. . . . .

stdin

stdout

ENVHost: e.m m .com .plContent-Type:application/ x- www- form - urlencodedContent- Length: 140

CGI - Com m on Gateway I nterface

Page 9: Web Technology Management Lecture III

CGI – Common Gateway Interface Talk to your server

POST /tf.asp HTTP/1.1Host: www.ehandel.plContent-Type: application/x-www-form-urlencodedContent-Length: 14

T3=z&B1=Submit

Page 10: Web Technology Management Lecture III

„Objects” of the Web Applications Fundamental structures

RequestResponseSessionApplicationServer

Page 11: Web Technology Management Lecture III

Server-side software Harder part …

Server-side technologies and their languages

Pure CGI (any)PHP (php)ASP (VB,Jscript, Python)ASP.NET (any)JSP (Java)And …CFMRuby on Rails …

Page 12: Web Technology Management Lecture III

Server-side software Most important servers

Server-side solutions

ApacheIISNginxGWSlighttpd

Vendor Product Web Sites Hosted Percent

Apache Apache 179,720,332 60.31%

Microsoft IIS 57,644,692 19.34%

Igor Sysoev nginx 22,806,060 7.65%

Google GWS 15,161,530 5.09%

lighttpd lighttpd 1,796,471 0.60%

Netcraft survey in March 2011.

[edit]

http://en.wikipedia.org/wiki/Web_server

Page 13: Web Technology Management Lecture III

Client-side software It used to be easier part …

JavaScript (never to confuse with Java)

VBScript (forget it !)AJAX (JavaScript + XML)Flash/FlexSliverLight

Page 14: Web Technology Management Lecture III

Web software design principles Sir Tim-Berners-Lee again …

SimlicityModular DesignToleranceDecentralizationTest of Independent InventionPrinciple of Least PowerStudy them:

http://www.w3.org/DesignIssues/Principles.html

Page 15: Web Technology Management Lecture III

NEXT …

Your own virtual server !

Page 16: Web Technology Management Lecture III

Lab work 6.

1) Remeber: http://purl.org/net/wtm

Explore the web for topics:a. Find out more about Stateless nature of HTTP protocolb. What is proxy? How it works ?c. Find out more about HTTP methods: TRACE, OPTIONS, PATCHd. Practice with manual execution of HTTP commandse. Find out more about classical CGIf. Find out more about Request, Response, Session, Application,

Server objects of the Web programmingg. Use Netcraft (www.netcraft.com) to find out interesting

statistics about the Web.h. Read http://www.w3.org/DesignIssues/Principles.html and find

out more about the principles in the other sources3 pages per topic