Web technológiák. Barabás Péter, Általános Informatikai Tanszék, Miskolci Egyetem. Barabás Péter Web technológiák 1



Hasonló dokumentumok
Alapfogalmak, WWW, HTTP

Rétegezett architektúra HTTP. A hálózatfejlesztés motorját a hálózati alkalmazások képezik. TCP/IP protokoll készlet

SIP. Jelzés a telefóniában. Session Initiation Protocol

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Web programoz as

API tervezése mobil környezetbe. gyakorlat

A számítástechnika gyakorlata WIN 2000 I. Szerver, ügyfél Protokoll NT domain, Peer to Peer Internet o WWW oftp opop3, SMTP. Webmail (levelező)

Az internet az egész világot behálózó számítógép-hálózat.

Alkalmazások II. World Wide Web

Hypertext Transfer Protocol (HTTP)

Hálózati architektúrák és Protokollok GI Kocsis Gergely

A Http és a PHP kapcsolata. Web-Sky Consulting Kft Tóth Imre 2009

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Számítógépes hálózatok

Hálózati architektúrák és Protokollok MI 7,8. Kocsis Gergely

ColourSMS Protokol definíció. Version 1.2

Tűzfal megoldások. ComNETWORX nap, I. 30. ComNETWORX Rt.

Számítógépes Hálózatok 2011

Hálózati architektúrák és Protokollok GI - 9. Kocsis Gergely

Számítógépes Hálózatok Felhasználói réteg DNS, , http, P2P

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) DNS. Domain Name System

átvitt bitek számával jellemezhetjük. Ezt bit/s-ban mérjük (bps) vagy ennek többszöröseiben (kbps, Mbps).

A HTTP protokoll. A standard egy URI (Unified Resource Identifier = egységes forrás azonosító) megnevezésű címet definiál, amely lehet:

Tematika A web története Kliens-szerver modell Web alapismeretek Fejlesztési eszközök. Sapientia Erdélyi Magyar Tudományegyetem, Csíkszereda

Bevezető. Servlet alapgondolatok

Számítógépes Hálózatok 2012

Hálózatkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Hálózatkezelés / 20

Az adott eszköz IP címét viszont az adott hálózat üzemeltetői határozzákmeg.

Symfony kurzus 2014/2015 I. félév. Controller, Routing

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) (RFC 821/822) Domain Name System

INTERNET. internetwork röviden Internet /hálózatok hálózata/ 2010/2011. őszi félév

Hálózati architektúrák laborgyakorlat

Hálózati architektúrák és Protokollok PTI - 7. Kocsis Gergely

Információ és kommunikáció

Az Internet. avagy a hálózatok hálózata

Hálózati architektúrák laborgyakorlat

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

Rohonczy János: World Wide Web - Világháló

SZAKDOLGOZAT ÓBUDAI EGYETEM. Neumann János Informatikai kar Alba Regia Egyetemi Központ

Web-fejlesztés NGM_IN002_1

Informatika 10. évf.

Segédlet a Hálózati architektúrák és protokollok laborgyakorlathoz v0.6

Információ és kommunikáció

IPv6 Elmélet és gyakorlat

Számítógépes Hálózatok GY 3-4.hét

Beállítások 1. Töltse be a Planet_NET.pkt állományt a szimulációs programba! A teszthálózat már tartalmazza a vállalat

Fábián Zoltán Hálózatok elmélet

1. fejezet Bevezetés a web programozásába (Balássy György munkája) Az internet működése... 11

Web programozás. Internet vs. web. Internet: Az Internet nyújtotta néhány alapszolgáltatás:

Hálózati architektúrák és Protokollok GI - 9. Kocsis Gergely

Névfeloldás hosts, nsswitch, DNS

Elektronikus levelek. Az informatikai biztonság alapjai II.

VIII. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

TestLine - zsoltix83 hálozat 1 Minta feladatsor

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

A webhelyhez kötődő szoftverek architektúrája

9. Gyakorlat: Network Load Balancing (NLB)

Java Challenge második forduló játékszabályai v1.2

HÁLÓZATI BEÁLLÍTÁS. Videorögzítőkhöz

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Hány komputer van a kezemben?

Számítógépes Hálózatok. 3. gyakorlat

G Data MasterAdmin 9 0 _ 09 _ _ # r_ e p a P ch e T 1

Web-fejlesztés NGM_IN002_1

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

Statisztikai alap kia.hu (2005)

BEVEZETÉS AZ INTERNET ÉS A WORLD WIDE WEB VILÁGÁBA. Kvaszingerné Prantner Csilla, EKF

Számítógépes Hálózatok GY 7.hét

21. tétel IP címzés, DOMAIN/URL szerkezete

A Nemzeti Média- és Hírközlési Hatóság. ajánlása

Alap protokollok. NetBT: NetBIOS over TCP/IP: Name, Datagram és Session szolgáltatás.

Hálózati architektúrák és Protokollok GI - 8. Kocsis Gergely

Statisztikai alap kia.hu (2006)

Hálózatos adatbázis-kapcsolódási problémák és azok javítása

Számítógépes munkakörnyezet II. Szoftver

ALKALMAZÁSOK ISMERTETÉSE

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Bevezetés Működési elv AJAX keretrendszerek AJAX

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. 3. óra. Kocsis Gergely, Kelenföldi Szilárd

Hálózati Architektúrák és Protokollok GI BSc. 10. laborgyakorlat

Számítógépes alapismeretek

Hálózati architektúrák és Protokollok GI 8. Kocsis Gergely

Valimed API. REST API a magyarországi orvos pecsétszámok validálására

Internet technológiák

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. 3. óra. Kocsis Gergely, Supák Zoltán

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. Kocsis Gergely, Supák Zoltán

DNS hamisítás szerepe, működése, védekezés. Benda Szabolcs G-5S5A Peller Nándor G-5i10 Sőregi Gábor G-5S5A

Statisztikai alap (2009) - main

Java és web programozás

Tartalom. Hálózati kapcsolatok felépítése és tesztelése. Rétegek használata az adatok továbbításának leírására. OSI modell. Az OSI modell rétegei

{simplecaddy code=1005}

Statisztikai alap kia.hu (2009) - main

Adatátviteli rendszerek Mobil IP. Dr. habil Wührl Tibor Óbudai Egyetem, KVK Híradástechnika Intézet

Számítógép labor V. Egyszer Web szerver. Dokumentáció. Készítette: Ács Gergely (K4C03M)

Webszolgáltatások (WS)

Bevezető. Az informatikai biztonság alapjai II.

Fogalma. pont), a hiperszöveges és a hipermediális rendszerek

Hálózati ismeretek. Az együttműködés szükségessége:

11. Gyakorlat: Certificate Authority (CA), FTP site-ok

Átírás:

Web technológiák Barabás Péter, Általános Informatikai Tanszék, Miskolci Egyetem Barabás Péter Web technológiák 1

Témakörök 1 2 HTTP/1.1 HTML4 3 Thi CSS is an example text. Go ahead and replace it 4 JavaScript, jquery 5 PHP, PHP-MySQL, PHP Frameworks 6 AJAX 7 WEB2.0 Barabás Péter Web technológiák 2

Internet, TCP/IP és az OSI modell INTERNET: hálózatok hálózata Kommunikáció protokollok TCP: Küldés: Adat csomagok + sorszám + hibaellenőrző információk Fogadás: Hibaellenőrzés összeállítás IP: csomag továbbítása két pont között ROUTER-ek Barabás Péter Web technológiák 3

IPv4, IPv6 IP cím: gépazonosítás Egyedi IPv4: 4 byte 32 bit 2 32 db számítógép azonosítása Elfogyott!!! IPv6: 128 bit Fix 64 bites prefixek (hálózati maszk) 2 rész: 64 bit (al-)hálózati rész + 64 bit hosztrész Barabás Péter Web technológiák 4

DNS DNS: Domain Name System Domaineket (tartományokat) kezelő, a világon több ezer szerverre elosztott hierarchikus adatbázis-rendszer. Fő felhasználási területe: a domainnév IP-cím Domain-enként névkiszolgáló Hálózat = domainek és aldomainek Pl. java.sun.com (com: domain, sun: aldomain, java: számítógép neve) Barabás Péter Web technológiák 5

WWW World Wide Web Hatalmas információhalmaz Megalkotója: Tim Berners-Lee (1989. CERN) Távoli kutatók kommunikációja Első használat 1992. Genf (CERN webhelyhez hozzáférés) Manapság: Üzleti világ, reklám, online rádió, tv Webáruházak, internet banking Kommunkáció Hypertext: Speciális tartalmak: link, audió, videó Web pages, web sites Web 2.0 Barabás Péter Web technológiák 6

URI, URL, URN URL: Uniform Resource Locator Erőforrások elérése Pl: http://www.w3.org/hypertext/project.html URI: Uniform Resource Identifier Általános formátum (<scheme>:<identifier>) URN Uniform Resource Name A resource léte (helye) nem szükséges Pl: urn:isbn:0451450523 Barabás Péter Web technológiák 7

Böngésző (browser) Weboldalak elérése Controller Koordináció A böngésző központja Method Kliens alkalmazás (HTTP) Dokumentum hozzáférés Interpreter Dokumentum megjelenítés Barabás Péter Web technológiák 8

HTTP HyperText Transport Protocol Adattovábbítás web szerverek és web kliensek között Alkalmazás rétegbeli protokoll Jellemzők: Egyszerű Gyors Állapot nélküli Barabás Péter Web technológiák 9

HTTP II. Http://website HTTP kérés HTTP válasz Weboldal Barabás Péter Web technológiák 10

Közvetítők (Intermediaries) Proxy Üzenet továbbítás Helyi szabályok Üzenet módosítása Használat: Biztonság Cache-elés Gateway (reverse proxy) A kéréseket a szerver protokolljára fordítja Használat: Pl. load balancing (terhelésmegosztás) A kliens nem tudja, hogy a gateway nem a célszerver Tunnel Üzenetek nem változnak A kapcsolatok lezárása után a tunnel is lezárul Használat: Amikor pl. a szerver nem elérhető (firewall rules, proxy) Barabás Péter Web technológiák 11

HTTP tranzakció 1. Kapcsolat felépítés Általában a 80-as TCP porton, de tetszőlegesen felüldefiniálható 2. Kliens kérést küld a szerver felé 3. Szerver fogadja a kérést, feldolgozza, választ generál és elküldi a kliens felé 4. Mindkét fél bontja a kapcsolatot. Barabás Péter Web technológiák 12

Perzisztens kapcsolatok HTTP/1.0: Connection: keep-alive HTTP/1.1: alapértelmezett Nem záródik le a kérés teljesítésével a kapcsolat Több kérés teljesíthető egy kapcsolat kiépítésével Előnyök: CPU idő megmentése a routerek-en és a host-okon Kevesebb memóriaiény a TCP control blokkoknak A HTTP kérések és válaszok párhuzamosíthatóak ( pipelining ) Hálózati forgalom csökken Késleltetés is kisebb (kimarad az ismételt handshake) Hiba esetén nem kell zárni a kapcsolatot Barabás Péter Web technológiák 13

Perzisztens kapcsolatok II. Kapcsolat zárása: A szerver zárja a kapcsolatot: Connection: close Content-Length beállítása Transfer-Encoding: chunked A chunk mérete = 0 Barabás Péter Web technológiák 14

Pipelining Kliens több kérést küld a szerver felé Folyamatos üzenetként Nem várja meg a következővel, hogy az előzőnek megérkezzen a válasza A szervernek sorrendhelyesen kell válaszolni a kérésekre Barabás Péter Web technológiák 15

Üzenet formátumok HTTP üzenetek szerkezete: Kezdő sor 0 v. több header sor Üres sor (CRLF) Opcionális üzenet test Egy fájl Lekérdezés paraméterei Lekérdezés kimenete Barabás Péter Web technológiák 16

Általános header sorok Kérésben és válaszban is szerepelhetnek Cache-Control Connection Date Pragma Trailer Transfer-Encoding Upgrade Via Warning Barabás Péter Web technológiák 17

Dátum formátum RFC 1123 Sun, 06 Nov 1994 08:49:37 GMT Régebbi formátumok: RFC 850 Sunday, 06-Nov-94 08:49:37 GMT ANSI C asctime() formátum Sun Nov 6 08:49:37 1994 Barabás Péter Web technológiák 18

HTTP Request (kérés) Kezdő sor Kezdő sor: 3 rész SP-vel elválasztva Method neve Az erőforrás lokális útvonala HTTP verzió Példa: GET /path/to/file/index.html HTTP/1.1 Barabás Péter Web technológiák 19

HTTP Request Példa Method Fájlnév Verzió GET /msaleh/index.html HTTP/1.1 Host: staff.ifm.ac.tz Connection: close Accept: text/xml,text/html,text/plain,image/png,*/* Accept-Language: en-gb,en User-Agent: Mozilla/4.0 (compatible;msie 6.0;Windows NT 5.0) Accept-Charset: ISO-8859-1,utf-8;q=0.7,* If-Modified-Since: Mon, 18 Sep 2006 22:57:19 GMT Referer: http://web-sniffer.net Adat (body) Üres sor Header sorok Barabás Péter Web technológiák 20

HTTP Request Metódusok Biztonságos ( safe ) metódusok: Csak kérésre valók GET HEAD OPTIONS TRACE Nem biztonságos ( unsafe ) metódusok: Mellékhatásaik lehetnek: POST PUT DELETE Barabás Péter Web technológiák 21

HTTP Request OPTIONS A szerver képességeinek v. az erőforrás követelményeinek lekérése erőforrás kérés nélkül A válasz nem cache-elhető Ha a request-target ( * ), akkor a kérés általánosan a szerverre vonatkozik, nem pedig egy erőforrásra A szerver v. proxy képességeit tesztelhetjük Ha a request-target egy erőforrás, akkor 200-as válasz header-je tartalmazza a feature-öket Allow, extensions, etc. Content-Length: 0, ha nincs üzenet test Max-Forwards header field Maximum hány csomóponton (proxy) továbbítható a kérés Barabás Péter Web technológiák 22

HTTP Request GET Információ kérésre használatos Conditional GET If-Modified-Since, If-Unmodified-Since If-Match, If-None-Match If-Range Csak akkor fut le, ha a fenti feltételek teljesülnek Hálózati forgalom csökkentése Cache-ből veszi a szükséges tartalmat Partial GET : Range header mező A tartalomnak csak egy részét kell lekérni A többit cache-ből veszi Barabás Péter Web technológiák 23

HTTP Request HEAD Hasonló a GET-hez A válasz nem tartalmaz üzenettestet Meta-információk lekérdezésére használjuk Linkek validálása Linkek elérhetősége Cache-elhető Ha eltér a cache-ben lévőtől, akkor a teljes cache bejegyzés (törzzsel együtt) érvénytelen lesz Barabás Péter Web technológiák 24

HTTP Request POST Tartalom feltöltésre szolgál (nem fájl upload) Form adatok feltöltése Fórumok, vendégkönyv, wiki, stb. Adatbázis DML műveletek Válasz: 200: van üzenettest 204: nincs üzenettest 201: erőforrás létrejött a szerveren A válasz nem cache-elhető Kivéve, ha a Cache-Control v. Expires definiáltak 303 (See Other): a felhasználó irányítása a cache-elt erőforrásra Barabás Péter Web technológiák 25

HTTP Request PUT Erőforrás feltöltésre szolgál (file upload) Ha már létezik a szerveren, akkor módosul Válasz: 201, ha új erőforrás jött létre 200 v. 204: ha módosult már meglévő erőforrás Hiba esetén a megfelelő hibakód 501: ha a szerver nem tudja értelmezni a Content-* header mezőket Barabás Péter Web technológiák 26

HTTP Request DELETE Erőforrás törlésére használhatjuk A szerver-t kéri a kliens a törlésre A törlés nem garantált Még ha a státusz kód erre utal, akkor sem Válasz: 200: üzenettest létezik a státusz leírással 202: ha a törlés még nem valósult meg 204: ha a törlés már végbement, de a test üres Barabás Péter Web technológiák 27

HTTP Request TRACE, CONNECT A kérés útvonalának vizsgálatára szolgál A kliens megvizsgálhatja, hogy a kérés lánc másik vége mit kapott Via header mező Max-Forwards: limitálható a kérés lánc hossza A body tartalmazza a választ Message/http formátumú CONNECT: Proxy-k számára fentartott Dinamikusan válthat tunnel módra (SSL tunnel) Barabás Péter Web technológiák 28

HTTP Request Header sorok Accept Host Proxy-Authorization Accept-Charset If-Match Range Accept-Encoding If-Modified-Since Referer Accept-Language If-None-Match TE Authorization If-Range User-Agent Expect If-Unmodified-Since From Max-Forwards Barabás Péter Web technológiák 29

HTTP Response Kezdő sor: státusz sor HTTP verzió Státusz kód (számítógépek számára) Státusz szövege (emberek számára) Példák: HTTP/1.0 200 OK or HTTP/1.0 404 Not Found Barabás Péter Web technológiák 30

HTTP Response Státusz kódok 1xx: Információs jellegű Kód Szöveg 100 Continue 101 Switching Protocols Barabás Péter Web technológiák 31

HTTP Response Státusz kódok 2xx: Sikeresség Kód Szöveg 200 OK 201 Created 202 Accepted 203 Non-Authorative Information 204 No Content 205 Reset Content 206 Partial Content Barabás Péter Web technológiák 32

HTTP Response Státusz kódok 3xx: Átirányított átvitel esetén Kód Szöveg 300 Multiple Choices 301 Moved Permanenty 302 Found 303 See Other 304 Not Modified 305 Use Proxy 307 Temporary Redirect Barabás Péter Web technológiák 33

HTTP Response Státusz kódok 4xx: Kliens hiba Kód Szöveg Kód Szöveg 400 Bad Request 409 Conflict 401 Unauthorized 410 Gone 402 Payment Required 411 Length Required 403 Forbidden 412 Precondition Failed 404 Not Found 413 Request Entity Too Large 405 Method Not Allowed 414 URI Too Long 406 Not Acceptable 415 Unsupported Media Type 407 Proxy Authentication Required 416 Requested range not satisfiable 408 Request Time-out 417 Expectation Failed Barabás Péter Web technológiák 34

HTTP Response Státusz kódok 5xx: Szerver hiba Kód Szöveg 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Time-out 505 HTTP Version not supported Barabás Péter Web technológiák 35

HTTP Response VII. Header sorok Accept-Ranges Age Allow ETag Location Proxy-Authenticate Retry-After Server Vary WWW-Authenticate Barabás Péter Web technológiák 36

Gyorsítótárazás (caching) Hatékonyság miatt Vannak erőforrások, melyek sokáig v. egyáltalán nem változnak (pl. céglogó) Felesleges újra letölteni Böngésző, proxy tárolhatja Hálózati forgalom, sávszélesség kihasználás lecsökken Szerverek terhelése is csökkenthető Cache-Control, Last-Modified, Expires Barabás Péter Web technológiák 37

Gyorsítótárazás (caching) II. Gyorítótárazás kikapcsolása Cache-Control: no-cache Gyorsítótárazás engedélyezése Nincs Cache-Control beállítva: Bármilyen cache-ben tárolódhat a tartalom Private: csak lokálisan, a böngésző cache-ben tárolódhat a tartalom Public: publikus cache-ben is tárolódhat a tartalom (shared proxies) Last-Modified: Az erőforrás utolsó módosítási dátuma Pl.: Last-Modified: Wed, 15 Sep 2004 12:00:00 GMT Expires: Az erőforrás lejárati dátuma, amikortól már nem érvényes a tartalma Pl.: Expires: Sun, 17 Jan 2038 19:14:07 GMT A cache-elt tartalmaknál ezeket a mezőket elég ellenőrizni Barabás Péter Web technológiák 38

Köszönöm a figyelmet!