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



Hasonló dokumentumok
Internet programozása. 1. előadás

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

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

Környezeti változók, űrlapok kezelése

Web programoz as

WEBFEJLESZTÉS 2. PHP NYELVI ALAPOK, HTML KIMENET, PHP BEMENET, ŰRLAPOK

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

WEBFEJLESZTÉS 2. BEMENET, ŰRLAPOK

Web-fejlesztés NGM_IN002_1

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

A Java EE 5 plattform

API tervezése mobil környezetbe. gyakorlat

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

WEBFEJLESZTÉS 2. PHP NYELVI ALAPOK

A JavaServer Pages (JSP)

Webszolgáltatások (WS)

Web-fejlesztés NGM_IN002_1

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

Web Technológiák. Répási Tibor egyetemi tanársegéd. Miskolc Egyetem,Gépészmérnöki kar, Infomatikai és Villamosmérnöki Tanszékcsoport (IVM)

Produktív környezetben használt, nyílt forráskódú komplex térinformatikai megoldások dr. Siki Zoltán

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

Webes alkalmazások fejlesztése

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

PHP. Adatbázisok gyakorlat

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

PHP-MySQL. Adatbázisok gyakorlat

AIX 6.1. IBM Systems Director Console for AIX

Könyvtári címkéző munkahely

A JavaServer Pages (JSP)

SZÁMÍTÓGÉP HÁLÓZATOK BEADANDÓ ESSZÉ. A Windows névfeloldási szolgáltatásai

A JavaServer Pages (JSP)

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

George Shepherd. 1. A webes alkalmazások alapjai 1

Személyügyi nyilvántartás szoftver

Apache, MySQL, PHP/Perl NetWare-n

8. WebDAV kiszolgáló konfigurálása

Szerver oldali technológiák Szerver oldali script nyelvek PHP

Webes alkalmazások fejlesztése 1. előadás. Webes alkalmazások és biztonságuk

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

Click to edit headline title style

Nyilvántartási Rendszer

Tartalomjegyzék. Weboldalüzemeltetői praktikák... 1 Átlag weboldal... 1 Wordpress praktikák... 2

Többfelhasználós és internetes térkép kezelés, megjelenítés

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

1. Kapcsolók konfigurálása

Gyakorlati vizsgatevékenység A

Bevezető. Servlet alapgondolatok

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

ÁNYK53. Az Általános nyomtatványkitöltő (ÁNYK), a személyi jövedelemadó (SZJA) bevallás és kitöltési útmutató együttes telepítése

Alapfogalmak, WWW, HTTP

ColourSMS Protokol definíció. Version 1.2

ÉRETTSÉGI TÉTELCÍMEK 2018 Informatika

III. előadás. Kovács Róbert

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS. Fájlkezelés PHP-ben

Crawler.NET: Komponensalapú elosztott keretrendszer a web bejárására

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

SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

SOAP komponensek Delphiben

Kiszolgálók üzemeltetése. Iványi Péter

Tájékoztató az 1.10-es labor használatához

Automatikus infrastruktúra menedzsment és alkalmazástelepítés

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 5.ELŐADÁS. Sütik és munkamenetek kezelése

ELEKTRONIKUS MUNKABÉRJEGYZÉK MODUL


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ő)

Mozgásvizsgálati mérések internetes megjelenítése. Zemkó Szonja - Dr. Siki Zoltán

Internet-hőmérő alapkészlet

M-Files Dokumentumkezelő telepítése

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

Adatbázis kezelő szoftverek biztonsága. Vasi Sándor G-3S

Zimbra levelező rendszer

Szerver oldali technológiák Szerver oldali script nyelvek PHP

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

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

Technikai tudnivalók a Saxo Trader Letöltéséhez tűzfalon vagy proxy szerveren keresztül

SZOFTVER = a számítógépet működtető és az azon futó programok összessége.

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa

Bemutatkozás. Heilig Szabolcs Hojtsy Gábor Illés Szabolcs Palócz István

Kalumet Számlázó. Termék leírás

Intelligens biztonsági megoldások. Távfelügyelet

DIPLOMAMUNKA. Webes aktív oldalak készítése adatbázis eléréssel, HTML és programkód elkülönítésének lehetősége.

applikációs protokollok

SAP Business One. Áttekintés, gyakorlati ismertetı. Mosaic Business System Kft.; Support:

KnowledgeTree dokumentumkezelő rendszer

Olyan eszközre van szükség, amelynél a webszerkesztés folyamatát a fejlesztő, nem pedig a program vezérli

OE-NIK 2010/11 ősz OE-NIK ősz

Nyílt forrású, webes WGS84-EOV transzformáció

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

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

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

iseries Client Access Express - Mielőtt elkezdi

Miért jó ez: A Xampp csomag előnyös tulajdonságai: rendkívül jól felszerelt naprakész telepíteni-és frissíteni gyerekjáték.

Elektronikus levelek. Az informatikai biztonság alapjai II.

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

LOGalyze Telepítési és Frissítési Dokumentáció Verzió 3.0

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

1.2. NFS kliens telepítése és beállítása

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

Átírás:

A webhelyhez kötődő szoftverek architektúrája A webhelyhez kötődő szoftverek architektúrája...1 A kliens-szerver funkcionalitások megoszlása...1 A böngésző mint web kliens...1 Web szerver (kiszolgáló) felépítése...2 1. Beépített feldolgozó modulok...3 2. A CGI (Common Gateway Interface) interfész...4 3.Sablonok és preprocesszor nyelvek alkalmazása...5 A CGI változók...6 A kliens-szerver funkcionalitások megoszlása Funkcionalítások: -a tartalom megjelenítése grafikus vagy egyéb (szöveges) formában -a tartalom feldolgozása ezt általában a szerver oldali alkalmazás logikája végzi el -tartalom tárolás általában szerver oldalon, adatbázisokban Amennyiben a kliens oldalon nagyobb mértékű feldolgozásra kerül sor (pl. bonyolultabb Java appletek) akkor vastag kliensekről (thick client) beszélünk. Csak megjelenítés esetén pedig vékony kliensről: thin client. A böngésző mint web kliens Az alábbi ábra a jelenlegi böngészők felépítését tartalmazza. Alternatív böngésző formák -szöveges -grafikus -WAP -egyéb új mobil eszközök 1

A modern böngésző felépítése Web szerver (kiszolgáló) felépítése Szerver oldali szolgáltatást futtató alkalmazás, amely HTTP protokollon keresztül biztosít tartalom hozzáférést. Osztályozás: -web sz. statikus tartalommal -web sz. dinamikus tartalommal -web sz. osztott alkalmazásból származó tartalommal 2

A web szerverek funkcionalitása egyre inkább bővül, ezért struktúrájuk is egyre magasabb absztrakciós szintekben való megvalósítást igényel. Konkrétan az Apache nevű webszervert fogjuk használni, moduljait és konfigurálását a laboron vesszük át. Dinamikus tartalmat kiszolgáló webszerver felépítése A dinamikus tartalommegjelenítés típusai 1. Beépített feldolgozó modulok példa: SSI (Server Side Includes) funkcionalitások: -szerver oldali programok kimenete illeszthető a lapba -rendszerváltozók, állomány létrehozása időpontja írható ki 3

megoldás: a webszerver egy szűrőt használ bizonyos egyébként statikus - állományok kiküldésekor, és egy adott szintaxis szerinti (include) szöveget illeszt a lapba. A szövegeket kis szerver oldali műveletek illetve alkalmazások futtatása árán éri el. 2. A CGI (Common Gateway Interface) interfész Lehetőséget nyújt egy szerver oldali alkalmazás futtatására a böngésző kérésének hatására. Az alkalmazást bármilyen programnyelven meg lehet írni. Független Ingyenes - ezért vált a legelterjedtebbé Külön folyamat minden CGI program Programozási nyelv és szerver architektúra független Hátrányok: a klasszikus CGI lassú (de azért nem vészesen lassú) minden kérés új folyamatot vagy indít. Ma már léteznek ennél gyorsabb megoldások, ugyanannál a kivitelező programtípusnál maradva: FastCGI. -a /cgi-bin könyvtár konfigurálása -biztonsági kérdések A CGI környezet paraméterei (listájukat lásd a dokumentum végén): A CGI változók név/érték párok, amelyek információkat adnak a kliens szoftverről illetve gépről, a szerver szoftverről valamint a HTTP kérés pontos fejléc és paraméter adatairól. Az ábra szemlélteti ezeket az információkat. A fejezet végén található mellékletben néhány változó részletes leírása található. A PHP-be a $_SERVER tömbön keresztül érjük el őket, lásd a Változók / Előredefiniált változók fejezetet. 4

Az alábbi kis program egy CGI-ként elindítható program, amely visszaírja a kliens gép IP címét a böngészőnek: #include <stdio.h> #include <stdlib.h> int main() { char * envstr; /* ez a fejlec sor mindig kotelezo */ printf("%s%c%c\n","content-type:text/html;charset=utf-8",13,10); /* a CGI parametereket kornyezeti valtozokkent kapjuk */ envstr = getenv("remote_addr"); /* a program kimenete a webre kerul */ printf ("<html><head></head><body>"); printf ("<p>az ön IP címe: %s</p>", envstr); printf ("</body></html>"); } exit(0); A programot a szerver cgi-bin könyvtárában kell lefordítani, és amennyiben a végrehajtható állományt végrehajthatóvá tesszük, és pl. test.cgi névre fordítjuk, akkor a helyi gépen: http://localhost/cgi-bin/test.cgi címmel futtathatjuk. 3.Sablonok és preprocesszor nyelvek alkalmazása A dinamikus tartalommegjelenítés alapja: sablon + dinamikus tartalom. A sablont egy preprocesszor elemzi, és megadott helyeken valamilyen szkript nyelvet futtat, annak kimenetét pedig a sablonba írja. A szerver az így kapott szöveget küldi válaszként a kliensnek. A preprocesszor akár CGI interfészen, akár beépített modulként kapcsolódhat a webszerverhez. A végrehajtás lépései:.php tipus => hozzárendelés a PHP parser-hez a parser a programrészek esetében végrehajtja azokat, kimenetüket beilleszti a válaszba A dokumentum szintaxisának biztosítania kell a szkript részek elkülönítését, pl: <??> vagy <?php?> kezd-vég tag-ek (címkék) alkalmazásával ezután a generált tartalmat elküldi a böngészőnek. Az úgy fogadja mintha statikus tartalmat kapott volna. 5

Példák preprocesszorokra: PHP JSP (Java Server Pages, Sun) Coldfusion (Macromedia) ASP (Active Server Pages, Microsoft) Embedperl A CGI változók Valamennyi szerver oldali megoldás esetében fontos szerepet játszanak a CGI változók, melyeket a szerver mint környezeti változókat vagy pedig mint előre, a szkript futása előtt létrehozott változókat ad át a szkriptnek. A fontosabbak az alábbiak: Változó neve SERVER_SOFTWARE SERVER_NAME GATEWAY_INTERFACE SERVER_PROTOCOL SERVER_PORT REQUEST_METHOD PATH_INFO PATH_TRANSLATED Mit tartalmaz A kiszolgálón futó szerver szoftver nevét és verzióját tartalmazza: Apache/2.0 A kiszolgáló gép nevét tartalmazza. Tartománynév vagy IP cím: www.ms.sapientia.ro Melyik CGI verziót használja a webszerver: CGI/1.1 Milyen protokoll verziót használ: HTTP/1.1 Melyik TCP portot használja a szerver: 80 Milyen metódust küldött a kliens a http kérésben: GET vagy POST vagy HEAD Amennyiben a kliens a HTTP virtuális útvonalon kívül küldött egyébb információt a dokumentum elérésére Az az útvonal, amit a szerver kapott meg a virtuális útvonal átfordításakor. Ez általában egy könyvtár a szerver oldalon: SCRIPT_NAME QUERY_STRING REQUEST_URI REMOTE_HOST REMOTE_ADDR AUTH_TYPE REMOTE_USER CONTENT_TYPE CONTENT_LENGTH HTTP_USER_AGENT A meghívott szkript neve. Ez felhasználható, ha egy szkript saját magára akar hivatkozni. Az az információ ami a? karaktert követi az URL-ben A kérés relatív webcíme A távoli, kliens gép neve A távoli, kliens gép IP címe A HTTP hitelesítés típusa: Basic vagy Digest A bejelentkezett felhasználó neve Milyen MIME típusú adat van a törzs részben amennyiben a kérés POST Milyen hosszú ez a tartalom A HTTP fejlécekből nyert változók A kliens neve: 6

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-us; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1 HTTP_ACCEPT Milyen MIME tartalmat fogad a kliens: text/html, text/xml HTTP_ACCEPT_LANGUAGE Milyen nyelvet preferál a kliens: hu,en-us;q=0.7,en;q=0.3 HTTP_ACCEPT_ENCODING Milyen kódolást fogad el a kliens: gzip HTTP_ACCEPT_CHARSET Milyen karakter kódolást fogad el a kliens: ISO-8859-1,utf-8;q=0.7,*;q=0.7 HTTP_CONNECTION Kér-e TCP kapcsolat fenntartást a kliens: keep-alive 7