Webes alapozás. url, http, szerver oldal



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

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

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

Web-fejlesztés NGM_IN002_1

Alapfogalmak, WWW, HTTP

Webszolgáltatások (WS)

MVC. Model View Controller

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

Web programoz as

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

JAVA webes alkalmazások

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

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

Testreszabott alkalmazások fejlesztése Notes és Quickr környezetben

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

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

Webes alkalmazások fejlesztése. Bevezetés az ASP.NET MVC 5 keretrendszerbe

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

Webes alkalmazások fejlesztése 1. előadás. Webes alkalmazások és biztonságuk. Cserép Máté

Webes alkalmazások fejlesztése

Webtárhely létrehozása a helyen. Lépések Teendő 1. Böngészőbe beírni: 2. Jobb oldalon regisztrálni (tárhelyigénylés).

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

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

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

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

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

Webes alkalmazások fejlesztése. 9. előadás Bevezetés az ASP.NET MVC keretrendszerbe

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

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

GIS fejlesztés Web platformra nyílt forráskódú ingyenes eszközökkel

A Java EE 5 plattform

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

API tervezése mobil környezetbe. gyakorlat

Flex: csak rugalmasan!

Bevezető. Servlet alapgondolatok

Előadás témája: DVR-ek és hálózati beállításuk Szentandrási-Szabó Attila Műszaki és kereskedelmi igazgató

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

Informatikai Tesztek Katalógus

Hálózati architektúrák laborgyakorlat

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

ColourSMS Protokol definíció. Version 1.2

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

Hány komputer van a kezemben?

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

SOAP komponensek Delphiben

Web-fejlesztés NGM_IN002_1. A tárgy tartalma

OEP Betegéletút lekérdezés háziorvosok és vénytörténet lekérdezés patikák számára. API dokumentáció. verzió: 2.01

Foglalkozási napló. Informatikai rendszergazda 14. évfolyam

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Üdvözli Önöket A PGY3 tantárgy! Bakay Árpád dr. NETvisor kft (30) arpad.bakay@netvisor.hu

Kommunikáció Androidon Mobilinternet Wifi

Webapp (in)security. Gyakori hibákról és azok kivédéséről fejlesztőknek és üzemeltetőknek egyaránt. Veres-Szentkirályi András

Informatikus, Webfejlesztő. Nagy Gusztáv

JSF alkalmazások teljesítményhangolása JMeter és dynatrace segítségével

AJAX AJAX. AJAX: Asynchronous JavaScript and XML. az alábbi technológiákon alapul: AJAX-ot támogató keretrendszerek

A JavaServer Pages (JSP)

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

Web-fejlesztés NGM_IN002_1

A JavaServer Pages (JSP)

DDoS támadások, detektálás, védekezés. Galajda József - Core Transport Network Planning Expert

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

Nyilvántartási Rendszer

Postfilter I. Spamszűrési módszerek és eljárások. Kadlecsik József KFKI RMKI

Book Template Title. Author Last Name, Author First Name

applikációs protokollok

Két tűz között. statikus site generátorok és javascript alkalmazások és a Drupal

.NET Microsoft.Net Framework és programozása II.

Osztott rendszerek, Java EE. Általános bevezető

SPF és spamszűrés. Kadlecsik József KFKI RMKI

Internet-hőmérő alapkészlet

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

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms

Mérési útmutató a Secure Shell (SSH) controll és audit című méréshez

Apache, MySQL, PHP/Perl NetWare-n

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

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

Osztott alkalmazások fejlesztési technológiái Áttekintés

AJAX Framework építés. Nagy Attila Gábor Wildom Kft.

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

A WEB programozása - Bevezetés őszi félév Dr. Gál Tibor

ASP-s alkalmazás készítés

PHP. Adatbázisok gyakorlat

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

Webes képgaléria tervezése és implementációja

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

CSEMPE GENERÁLÓ ALKALMAZÁS FÖLDHIVATALI ADATBÁZISHOZ Pálfi Antal PAGEOS

WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS

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

{simplecaddy code=1005}

A szóbeli vizsgafeladatot ha a feladat indokolja a szaktanárok által összeállított mellékletek, segédanyagként felhasználható források egészítik ki.

Kedvenc Ingyenes editorok avagy milyen a programozó jobbkeze? PSPAD editor DEVPHP IDE

Kiknek szól ez a könyv? Miről szól a könyv? Hogyan épül fel a könyv? Mire van szükség a könyv használatához? Szokások Forráskód Hibajegyzék

ELEKTRONIKUS MUNKABÉRJEGYZÉK MODUL

Tartalomjegyzék. Előszó... 10

Web-fejlesztés NGM_IN002_1

Alkalmazások II. World Wide Web

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

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

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

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

Átírás:

Webes alapozás url, http, szerver oldal

http://localhost:8080/demo1/default.cshtml? name=vision%20-%20software;param2=value2#section1

URI, URL, URN "Egységes erőforrás-azonosító" schema name : schame specific part URL: úgy azonosít erőforrásokat, hogy azt is megmondja, hogyan lehet elérni (pl: http://www.prog.hu) URN: név szerint azonosít (pl: urn:isbn:1234567890)

Demo tr:52694

URL darabokban foo://username:password@example.com:8042/over/there/index.dtb? type=animal&name=narwhal#nose schema name: hogyan kell értelmezi a kettős pont utáni részt userinfo: azonosítás, ha szükséges (nem túl biztonságos) hostname: távoli szerver címe (lehet IP is) port: csatlakozási pont, schema definiálhat alapértelmezett portot (http=80, https = 443 (65535)) path: távoli számítógépen a kért dokumentum elérése query: paraméterek (kb. mint a command line) fragment: ez nem kerül tovább küldésre, ezt a kliens használja (pl: könyvjelző, menü, ajax applikációk) Ez egy abszolút cím, de léteznek relatív címek, ha már egy kontextuson belül vagyunk:../.. /imags/smiley.png

URL encodolás és dekodolás Miért van rá szükség? Bizonyos karakterek más jelentéssel bírnak (&=/) Bizonyos karakterek nem lehetnek részei (<32) Kódolás Jelentése megmarad a-za-z 0-9.-~_ Konvertálás space = + %20, %2F (% hexadecimálisan a karakter)

Hostname feldoldás DNS UDP Root és top level domain Fa struktúra Dns rekord http://www.dnsquery.org etc/hosts fájl

Csatlakozzunk távoli számítógépekhez TCP, UDP, PORT, IPv4,IPv6 Demo Telnet Szöveges protokolok (pl: http, smtp, ftp) Tűzfal, DMZ

Demo Kliens - Szerver kommunikáció

Demo Töltsünk le fájlokat

HTTP kérés-válasz alapú kliens-server felépítésű mindig a kliens kezdeményez szöveges tetszőleges tartalom feltöltése/letöltése Jelenleg 1.1 RFC2616 (1999)

HTTP - Request Felépítés Request line (METHOD URL VERSION CRLR) Headers: kulcs érték párok CRLR [Message-body]

HTTP - Response Felépítés Status line (VERSION STATUS REASON CRLR) Headers: kulcs érték párok CRLR [Message-body]

HTTP - Státusz kódok 1xx - Információ 2xx - Sikeres állapot jelző 200 - sikeres 3xx - átirányítás 301 - végleges átirányítás 302 - átirányítás 304 - nem módosult 4xx - kliens oldali hiba 401 - jogosulatlan elérés (basic, digest auth) 403 - tiltott 404 - oldal nem található 5xx - serveroldali hiba

HTTP - Népszerűbb fejek Content-Type Content-Length Location User-Agent Accept-* Host Set-Cookie/Cookie Etag/Last-Modified X-Requested-With

HTTP - Metodusok GET Információ lehívás (Biztonságos - cachelhető) Többszöri végrehajtásuk ugyanazt az erdményt adja POST Információ közlés Request rendelkezi body-val Fejlécek kiterjeszthetőek (de nem minden összetevő támogatja)

Demo nézzünk bele mások beszélgetéseibe

HTTP - további tulajdonságai Cachelést vezérlő fejlécek Átirányítást szabályozó fejlécek További metodusok (HEAD, TRACE, DELETE, OPTIONS) Authentikáció (Basic és Digest alapokon) Kapcsolat újrafelhasználás Streamelés Több kérés a válasz bevárása nélkül (Http pipelinging) Válasz tetszőleges darabkájának letöltése (Byte serving) Tömörített adatétvitel Tetszőleges tartalom közlése

Résztvevők Proxy (Shared cache) Forward Reverse Robotok - kereső/adatgyűjtő (robots.txt) Webszerver Bongésző

Dokumentum generálás Különböző megoldások CGI PHP ASP ASP.NET Web Pages, MVC, Web Forms Egyéb ismert: Python Ruby on Rails Perl JSP, Java servlet

Common Gateway Interface Külön processként fut Bármilyen nyelven írt programmal használható Program szabványok ki/be- meneteit használja Környezeti változók Webszerver és a program közötti kommunikációt írja le Minden kérésnél elindítja és le is állítja a programot (pazarló) Manapság inkább FastCGI-t használnak, ami főleg elődje teljesítmény hibáit próbálja meg javítani úgy, hogy a futtatott alkalmazás a memóriában marad és több kérés egyidejű kiszolgálását is támogatja.

PHP Dinamikus script nyelv FastCGI ként futtatható (apache esetén modulban is) HTML oldalak amik PHP kódot tartalmaznak <?php...?> Hatalmas függvény könyvtár (akár többféle képpen is) Xml kezelés Képkezelés Hálózati rétegek (Smtp, Socket, Http, Ftp) Webszolgáltatás Adatbázis kezelés (PDO)... Nem csak web programozás (desktop, automatizálás) Sok mellékhatás és varázslat

Active Server Pages Script alapú JScript és VBScript-el programozható HTML-be ágyazott scriptek futtatása server oldalon Nem külön programként fut, modulként épül be ActiveX-eket használ ASP.NET elődje, Classic ASP néven is ismert, nincs köze. NET-hez

ASP.NET Nem script alapú,.net-re fordított program IIS6 külön processként fút IIS7 beépült az IIS-be Applikációként fút, egy AppDomain! Bármilyen.NET nyelv-en programozható ASP.NET Pipeline HttpApplication IHttpModule IHttpHandler Speciális könyvtárak Állapotok Application, Cache

ASP.NET Web Pages HTML-be ágyazott VB vagy C# kód amiből.net assembly generálódik Razor szintaktika Tiszta, kontrollálható kimenet Ez a legújabb őrület, PHP ellenfelének készült Webmatrix része Nincs viewstate és nincs postback!

ASP.NET MVC MVC mintára épül Tiszta és teljesen kézbentartható a generált dokumentum kimenete Depandency Injection támogatás Több megjelenítési réteg támogatása (MVC 3-tól razorral is) TDD támogatás Model binding és validáció ASP.NET Routing (tiszta url-ek) Könnyebb kliens script integráció Nincs viewstate és nincs postback!

ASP.NET Web Forms Window Forms programozás inspirálta Szerver oldali DOM RAD, könnyű fejlesztés Állapotok kibővülnek a Viewstate-el Többféle megjelenítés (Theme) Eseménykezelés Validáció "Page Life Cycle" Adatkötés

Demo Dokumentumok előállítása különböző platformokkal

Demo Játék a formokkal

Web framework elvárások Ajax, Valamilyen Pattern az UI leválasztására (MVC, MVP, MVVM), Többnyelvűség, Form validáció, Template, Cache, Configurálhatóság, Authentikáció, Adat elérés támogatása, Modularizálhatóság, SEO, Widgets, Kiterjeszthetőség, IDE support, hibakeresés, Deployment, (web service support), Url optimalizálhatóság, Sablonizálhatóság, Aszinkron feladat végrehajtás, Állapot kezelés

Biztonság Inputok Kliens oldali ellenőrzés "kikapcsolható" Befecskendezés (SQL, Parancs, Elérési út,...) Külső helyről származó adatok (XSRF) Feltétel vizsgálat Output XSS Adat gyűjtés (Email,...) Session lopás

Optimalizálás Kérések számának csökkentése Kliensoldali logika Kevesebb erőforrás hivatkozás (Sprite, konkatenálás) Böngésző cache Alkalmazás logikájának javítása Válasz méretének/előállítás csökkentése Tömörítés Ajax Proxy/Server oldali cache Aszinkron műveletek Párhuzamos letöltések számának nővelése: sub-domain

Fejlesztés Újra felhasználható elemek Visszamenőleg kompatibilitás Egy adott program rész átírásnál figyelni kell, hogy a régi módszernek is eleget tegyen. Tudni kell, a felépítését és a működést Nem biztos, hogy minden kontroll bárhol megállja a helyét Példa: Regisztráció, session timeout, ügyintézőnév 43 áruház, 27 partner (több mint 200 klón áruház) 5.5 fejlesztő + 1 tesztelő + 1 supportos

Szerszámosláda Http, TCP/IP, URI, URL, XML, XPath, XSLT, DTD, XSD, RSS, Atom, JSON, JSONP, HTML, CSS, JavaScript, SVG, XSS, XSRF, AJAX, SOAP, XML-RPC, REST, WSDL, RSA, PKI, MD5, SHA1, DNS, Domain, Streaming, Cloud, Mashup, SSO, SEO, OAuth, SSL, robots.txt, Flash, Silverlight, JavaFX, JavaApplet, ActiveX

Ez az utolsó dia! végre vége