World Wide Web
2 A Web története 1990 Tim Berners-Lee (CERN) globális hypertext tér NeXT szerver (nxoc01.cern.ch), line mode kliensek -- 24 -- Oxford Brookes University 2002 1992 akadémiai szféra bekapcsolódása 1993 ipari érdeklődés 1994 WWW Consortium Figure 6.3: Tim's Browser for the NeXT HTML had been agreed as the document markup language. This was based on the application of SGML used at CERN called GUID. Tim included in HTML tags from the SGML tagset used at CERN. The initial HTML parser ignored tags which it did not understand, and ignored attributes which it did not understand from the CERN-SGML tags. As a result, existing SGML documents could be made HTML documents by changing the filename from xxx.sgml to xxx.html. The earliest known HTML document is dated 3 December 1990: <h1>standardisation</h1> There was not a lot of discussion of this at <a href=introduction.html>echt90</a>, but there seem to be two leads: <ol> <li><a href=people.html#newcombe>steve newcombe's</a> and Goldfarber's "Hytime" committee looking into SGML, and <li>an ISO working group known as MHEG, "Multimedia/HyperText Expert Group". led by one Francis Kretz (Thompsa SA? Rennes?). </lo> Note the error on the last line. If you look at documents from the period between early December and the end
3 Hypertext 1945 Vannevar Bush: Memex ~ 1965 Ted Nelson: Xanadu 1987 Bill Atkinson: HyperCard hypertext: nem lineáris szöveg, kapcsolatok más szövegekre hypermédia: szöveg, képek, hangok
4 A Web megoldás Jelölő nyelv (markup language) Egységes címzési jelölés (URL) Dokumentum átviteli protokoll (HTTP) Kliensek (browser) Szerverek
5 Kliensek (browserek) 1992 line mode browser Viola GUI browser for X 1993 Mac browser február: NCSA Mosaic for X szeptember: Mosaic az összes elterjedt platformra 1994 Netscape megalakítása 1995-96 legtöbben Netscape-t használnak 1997-99 Internet Explorer térhódítása
6 Szerverek (Netcraft)
7 A HTML és eredete HTML - SGML alkalmazás Meta-markup language SGML Meta-markup language Application XML Markup language HTML XHTML SMIL SOAP WML
8 A http protokoll A web alkalmazás-réteg protokollja Kliens-szerver modell http1.0: RFC 1945 http1.1: RFC 2068 PC Explorer http kérés http válasz http kérés Szerver Apache http válasz Mac Safari
9 URL Uniform Resource Locator Kényelmes hálózati erőforrás azonosítás (fájl, dokumentum rész, más erőforrás) Az URL-ek az URI-k egy részhalmazát jelentik
10 URL-ek szintaxisa Általános alak <séma>:<sémafüggő információ> URL sémák http://<host>:<port>/<path>?<searchpart> named anchor (#) ftp://<user>:<password>@<host>:<port>/ <cwd1>/<cwd2>/.../<cwdn>/<name>; type=<typecode> gopher://<host>:<port>/<gopher-path> mailto:<account@site> telnet://<user>:<password>@<host>:<port>/ file://<host>/<path>
11 Speciális karakterek SPACE %20 < %3C > %3E # %23 % %25 { %7B } %7D %7C \ %5C ^ %5E ~ %7E [ %5B ] %5D ` %60 ; %3B / %2F? %3F : %3A @ %40 = %3D & %26
Alkalmazások II 12 Ál URL (pl.)
13 http protokoll TCP 80-as port ASCII szöveg alapú protokoll Állapot kezelés nincs Üzenetek formátuma: START_LINE <CRLF> MESAGGE_HEADER <CRLF> <CRLF> MESSAGE_BODY<CRLF>
14 http kérés Metódus sp URL sp Verzió CR LF Fejléc mez! név : Érték CR LF... Fejléc sorok Fejléc mez! név : Érték CR LF CR LF Üzenet test kérés kezdő sor (GET, POST, HEAD parancsok) fejléc sorok GET /somedir/page.html HTTP/1.0 User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr (üres sor) üzenettest
15 http metódusok OPTIONS GET HEAD POST PUT DELETE TRACE CONNECT
16 http válasz státuszsor adatok (dokumentum) fejléc sorok HTTP/1.0 200 OK Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998... Content-Length: 6821 Content-Type: text/html data data data data data...
17 http státusz kódok 1xx Information 2xx Sucess 3xx Redirection 4xx Client error 5xx Server error
18 Gyakori http válaszkódok 200 OK request succeeded, requested object later in this message 301 Moved Permanently requested object moved, new location specified later in this message (Location:) 400 Bad Request request message not understood by server 404 Not Found requested document not found on this server 505 HTTP Version Not Supported
19 TCP kapcsolatok Nem-perzisztens http/1.0 objektumonként TCP kapcsolat kérés-válasz Perzisztens http/1.1 egy TCP kapcsolat keep alive több objektum kérés-válasz
20 http autentikáció szerveren tárolt tartalom hozzáférésének szabályozása engedélyezés név, jelszó állapot mentes minden kéréshez fejléc mező kliens usual http request msg 401: authorization req. WWW authenticate: usual http request msg + Authorization: <cred> usual http response msg usual http request msg + Authorization: <cred> usual http response msg szerver idő
21 Állapot kezelés (cookie) szerver generálta változó (érték) URL-hez tartozik fejléc mező kliens szerver usual http request msg usual http response + Set-cookie: # usual http request msg cookie: # usual http response msg usual http request msg cookie: # usual http response msg cookiespecifikus feldolgozás cookiespecifikus feldolgozás
22 Feltételes kérés kliens oldali cache-elés csak akkor kell letölteni a dokumentumot, ha változott kliens szerver http request msg If-modified-since: <date> http response HTTP/1.0 304 Not Modified objektum nem módosult http request msg If-modified-since: <date> http response HTTP/1.1 200 OK <data> objektum módosult
23 http trace 127.000.000.001.49284-127.000.000.001.00080: GET /cgi-bin/mult.cgi?m=5&n=7 HTTP/1.1 Host: 127.0.0.1 Connection: keep-alive Referer: http://127.0.0.1/~heckenasttamas/mult.html User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/125.5.6 (KHTML, like Gecko) Safari/125.12 If-Modified-Since: Sat, 26 Feb 2005 10:06:58 GMT Accept: */* Accept-Encoding: gzip, deflate;q=1.0, identity;q=0.5, *;q=0accept-language: en, ja;q=0.82, hu; q=0.93, fr;q=0.89, ja-jp;q=0.86, hu-hu;q=0.96, de-de;q=0.79, de;q=0.75, nl-nl;q=0.71, nl;q=0.68, es; q=0.64, it-it;q=0.61, it;q=0.57, sv-se;q=0.54, sv;q=0.50, no-no;q=0.46, no;q=0.43, da-dk;q=0.39, da; q=0.36 127.000.000.001.00080-127.000.000.001.49284: HTTP/1.1 200 OK Date: Sat, 26 Feb 2005 10:11:57 GMT Server: Apache/1.3.33 (Darwin) Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html;charset=iso-8859-1 93 <HTML><HEAD><TITLE>Multiplication results</title></head><body><h3>multiplication results</h3> <P>The product of 5 and 7 is 35.</BODY></HTML> 0
24 Web cache-elés Dokumentum megjelenítés gyorsítása Hálózati forgalom csökkentése Többszintű cache-elés szerver Proxy proxy szerver böngésző diszk memória proxy cache kliens kliens http kérés http válasz http kérés http válasz http kérés http válasz eredeti szerver
25 Web böngészők (browserek) Általános böngésző architektúra Felhasználói felület Hálózati interfész Parszer Megjelenítés Segéd könyvtárak
26 HTML egyszerű leírónyelv platform független hypertext dokumentumok létrehozására ISO Standard 8879:1986 alkalmazás: hypertext, hypermedia struktúrált dokumentumok, dokumentáció menük mail MIME text/html Internet Media Type
27 HTML felhasználása nem a dokumentum megjelenésének leírására a dokumentum struktúrális leírására fejlécek listák bekezdések linkek
28 HTML verziók 1992 HTML is first defined 1993 HTML+ (some physical layout, fill-out forms, tables, math) 1994 HTML 2.0 (standard for core features) HTML 3.0 (an extension of HTML+ submitted as a draft standard) 1995 Netscape-specific non-standard HTML appears 1996 Competing Netscape and Explorer versions of HTML HTML 3.2 (standard based on current practices) 1997 HTML 4.0 (separates structure and presentation with stylesheets) 1999 HTML 4.01 (slight modifications only) 2000 XHTML 1.0 (XML version of HTML 4.01) 2001 XHTML 1.1 (modularization to allow different subsets) 2002 XHTML 2.0 (simplifying and generalizing several tags)
29 HTML mark-up Elemek start tag (<element-name>) end tag (</element-name>) Az elemek nem a tagek. Attribútumok hozzárendelt tulajdonságok pl.: <H1 id="section1"> Megjegyzések <!-- this is a comment -->
30 Stílus lapok HTML nem alkalmas a megjelenítés megadására kerülő megoldások html kiterjesztések képpé alakított szöveg távtartó képek elrendező táblázatok Stílus lapok - új megjelenítési lehetőségek
31 Stíluslap (pl.) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <HTML> <HEAD> <LINK href="special.css" rel="stylesheet" type="text/css"> </HEAD> <BODY> <P class="special">this paragraph should have special green text. </BODY> </HTML> P.special { color : green; border: solid red; }
32 XML Adatok leírására Meta mark-up language DTD, XML Schema XML alkalmazások pl. XHTML
33 XML DTD XML dokumentum érvényes építő elemeinek és struktúrájának megadása <?xml version= 1.0?> <!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> <?xml version= 1.0?> ]> <note date= 12/11/99 > DTD <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don t forget me this weekend!</body> </note> XML dokumentum
34 XML transzformáció XSL, XSLT transzformációs szabályok (XMLben) XSLT stylesheet XHTML document XML document Web browser rendering CSS stylesheet
35 CGI mechanizmus Interfész külső alkalmazások és a web szerver közé Dinamikus tartalom generálás Tetszőleges programozási nyelven Kommunikáció környezeti változók standard I/O Használat űrlapok spec. URL-ek
36 Űrlapok feldolgozása űrlap tartalom továbbítása GET method action?name=value&name=value&name=value POST method adattovábbítás az üzenet testében env REQUEST_METHOD, CONTENT_TYPE, CONTENT_LENGTH stdio
37 Információ visszakeresés a Weben Információs web használat böngészés keresés humán összeállítású link gyűjtemények teljes tartalom keresőgépek web linkszerkezete Sziget Sziget Kiinduló oldalak Mag Vég oldalak Sziget Sziget
38 Keresőgépek Keresőgép Méret Oldal mélység Google 8.1 milliárd 101K MSN 5.0 milliárd 150K Yahoo 4.2 milliárd (becslés) 500K Ask Jeeves 2.5 milliárd 101K+ dokumentum index milliárd db (SearchEngine Watch)
39 Szöveg visszakeresés (IR) cat dog Dokumentumok...the cat is fat......was raining cats and dogs... Invertált listák cat típus Cím 5 Szerző 10 Kivonat 57 pozíció hely...fido the dog... d 3 d 2 d 1 dog Cím 100 Cím 12
40 Szöveg visszakeresés (IR) Vektor modell w1 w2 w3 w4 w5 w6 w7 DOC = <1 0 0 1 1 0 0 > Query= <0 0 1 1 0 0 0 > PRODUCT = 1 +. =score
41 Webes alkalmazások Többrétegű (multi-tier) alkalamzások vékony klienssel Business tier Web tier TCP/IP Web browser (client tier) PC PC PC
42 Az új web modell Elosztott számítógépes környezet Automatikusan indított tranzakciók nem csak böngészőkből Intelligens ügynökök, piacterek, árverések,... -> Nyílt rendszerek -> Web services
43 Web szolgáltatások Összetett üzleti információk időjárás, hírek, menetrendek, árfolyamok csekk és kártya ellenőrzés, árverés Tranzakciós szolgáltatások helyfoglalások, bérlések, megrendelések beszállítói láncok Üzleti folyamatok megnyitása munkafolyamat szintű összekapcsolás folyamat szintű integráció