láthatatlan vaku

Javítása web-alapú alkalmazások a rejtett használatát Flash Player

Vágjunk bele

Helyileg tárolt Flash

Sok web-alapú alkalmazások kliens állapotát adat tárolható. Néha lehet, hogy csak egy munkamenet azonosítót, hogy lehet használni, így a memória állapotát a szerver és adatbázis. Azonban sok webalapú alkalmazások szándékosan ne tárolja állam a szerveren a skálázhatóság. Ebben az esetben az államnak kell tárolni a kliens számítógépen. Ezenkívül gyakran kívánatos, hogy ez az állapot fennmarad, miután az aktuális felhasználói munkamenet.

Sok éven át az utat az alapértelmezett erre voltak a cookie-kat HTTP. Ez a módszer azonban megvannak a maga hátrányai. Azt nehéz használni a fejlesztő szemszögéből, mert fizikailag ez csak HTTP-fejlécet. Ennél is fontosabb, hogy ez a potenciális különbség a biztonsági rendszer. Amikor minden kérés cookie-kat HTTP oda-vissza küldött kliens és szerver között, úgy, hogy azok bármilyen adat lehet elfogott. Ezt a tényt gyakran használják „lopni cookie” segítségével cross-site scripting / hamisítvány. Ha a hackerek lopni a cookie-kat, akkor könnyen lehet nyitni, és a megfelelő fiókot.

De a legnagyobb hátránya a cookie-kat HTTP - korlátozott méretét. A különböző böngészők, és különböző korlátokat a maximális mérete a cookie-kat HTTP, dedikált domain. HTTP specifikáció meghatározza a határérték 4 KB, és ez az, ami várható. Tehát mit kell tenni, ha az ügyfél meg kell tárolni több mint 4 KB? Ha valaha is gondoltam, hogy mi lenne a jó, hogy írjon egy tömörítési algoritmust GZIP stílusban Java ™ Script, akkor ez a lehetőség. Vagy használhatja az alternatív, mint a Flash.

Helyi megosztott objektumok

Flash Player létrehoz egy helyi helyet az adatok tárolása Flash alkalmazásokat. Alapértelmezésben ez legfeljebb 100 KB egy domain. Ez így van: kapsz huszonöt-szor több helyet foglal, mint a sütik használatával HTTP. Vannak más fontos különbség. Flash-adatokat a kliens oldalon soha nem továbbítja a szerver, hiszen nincs semmi köze a HTTP. Persze, akkor megteszi ezt az adatot, és küldje el a szerver, ha szükséges. Semmi sem akadályozza, hogy csináld. Azonban, akkor választhat, hogy milyen adatokat küld és hogyan lehet küldeni őket. Ha ezek az adatok valóban szükség van a kliens oldalon, és a szerver oldalon, van egy kis baj. De ez, mint általában, sokkal biztonságosabb, mert az kell, hogy kifejezetten a „be” az adatokat a hálózaton keresztül.

Flash-API magukhoz adatokat az úgynevezett helyi SharedObject. A Flash technológia fogalmát megosztott objektumok SharedObject. amelyet el lehet távolítani, így azok, amelyek tárolják csak az ügyfél, gyakran nevezik a helyi SharedObject. API nagyon egyszerű, és lehetővé teszi, hogy magukhoz tetszőlegesen összetett objektumok egy kulcs-érték paradigma. 1. kódrészlet egy egyszerű kódot tárolására és visszakeresésére SharedObjects.

1. lista tárolására és visszakeresésére SharedObjects

Minden példány SharedObject adatok hátrányos tulajdonsága, hogy lehet tekinteni, mint egy hash tábla az adattárolásra. Ez az, ami a második sorban saveLocal funkciót. Az utolsó sor menti SharedObject tárgy lemez (flush). Ez minden, amit meg kell tenni, hogy mentse az adatokat helyben. Ha teszik nehéz használni SharedObjects és kezdte megközelíteni a határa 100 KB, akkor az ehhez esemény detektorok. Ez lehetővé teszi, hogy reagálni az eseményekre, mint például a „flush befejeződött” vagy „flush nem sikerült.”

Hogyan, hogy láthatatlan

3. lista beágyazása láthatatlan flash

Más módszerek helyi tároló

Már említettem, hogy a Flash lehet vonzó módja az adatok tárolására a kliens oldalon, mint a cookie-kat HTTP. Vannak azonban más Web-technológia, elfogadta az azonos paradigma SharedObjects Flash. Tény, hogy sok éven át a különböző böngészők hez nagyon hasonló API-t. Azonban azok az API, általában változik egy böngészőt egy másik. Ezért szükséges, hogy meghatározzák a böngésző és a megfelelő API-t. Flash továbbá koherens alternatíva. Kód kifejlesztett ebben a cikkben működni fog szinte minden böngésző: Az Internet Explorer 6 és Firefox 2 egészen a legújabb változatai ezek a böngészők. Ugyanakkor az új változat is rendelkezik egy koherens alternatíva. HTML 5 specifikáció tartalmaz API localStorage. Úgy történtek a legújabb változata a nagy böngészők, beleértve az IE 8 és a Firefox 3.5. Tehát, ha kell vigyázni csak ezen böngészők, localStorage - egy jó lehetőség. Ha kell aggódnia régebbi böngészők (IE 6, IE 7, stb), akkor könnyebb, hogy vegye igénybe a Flash. Most tekintsünk egy másik helyre, ahol a Flash új lehetőségeket nyit meg: cross-domain Ajax.

cross-domain Ajax

Ajax vált mindenütt webalapú eszköz program szerves részét képezi minden web-alapú alkalmazások. Az egyik fő korlátai Ajax - a hírhedt szabálya egy és ugyanazon forrásból. Ha a Web-site továbbított a.com oldalon, akkor lehet, hogy az Ajax hívás (vagy pontosabban, XMLHttpRequest) kizárólag a a.com. Nem lehet hozzáférni, például egy b.com. Nem számít, hogy a.com, b.com, és tartozik hozzá a cég; A böngésző is, nem számít. Ahhoz azonban, hogy a Flash-alkalmazások nem érintettek.

4. lista A policy fájlt a Twitterre keresési tartomány

Ez különösen érdekes politikai fájlt. Hozzáférést biztosít SWF bármely tartomány (melyet egy helyettesítő karaktert „*”). Így minden Flash-alkalmazás hívja a Twitter Search API. Az ilyen politika fájlok - egy gyakori jelenség a nagy internetes oldalak nyilvános API-t. Azonban néhány webhely szigorúbb politikát, amely lehetővé teszi a hozzáférést csak azok tartományok tulajdonában vannak, vagy amelyek a partnerségek támogatása. A politika fájlokat kapsz finomszemcsés szabályozható, hogy ki férhet hozzá a szerverek, és aki nem. Lássuk, hogyan tudjuk kiterjeszteni az említett lehetőségek Ajax-alkalmazásokhoz.

elérése mezhddomennosti

5. lista Inter-domén segédprogram SWF

küldenikérés funkció is van három paraméter. ActionScript lehetővé teszi további paraméterek, de legyen az alapértelmezett értékeket. - Először is használják a HTTP módszer általában egy GET. vagy postai úton. Ebben a cikkben tettem a GET metódust alapértelmezett. de lehet könnyen helyettesíthető POST. ha ezt a távoli szerverre. Ezután egy opcionális paraméter nevezett tartalomra. Ez egy általános adat objektum, amely tartalmaz olyan név-érték párokat kell küldeni egy távoli szerverre. Meg kell használni, amikor adatot küld egy távoli szerverre. Végül az utolsó paraméter opcionális - egyéb általános adatok objektumot a fejlécet. Arra használják, hogy hozzanak speciális HTTP-fejléc továbbított keretében egy hívást, hogy egy távoli szerverre.

Listing 6. Calling Twitter Search

Alternatív cross-site

Évek óta, a Flash lehetővé teszi, hogy a domainek hívások, valamint a helyben tárolt adatokat. Mint abban az esetben a helyi tárat, egyes böngészők saját megoldást kínál, és készült a szabványosítás kísérleteket. De még nem találkozott olyan sikerrel, mint abban az esetben, helyi tárolására. Bár jelenleg nem létezik a cross-domain Ajax hívások szokásos, nem valósították meg az IE 8. Ehelyett az IE 8 kínál a maga módján csinál domainek Ajax hívások. Ez az egyéni megvalósítása - IE 8 újdonság és az IE nem létezik a korábbi verziókban. Ismét a Flash egy modellt, amely működik minden böngészőben.

Csatlakozás egy csoporthoz Web-fejlesztés az oldalon „My developerworks”

Beszélgessen és a források megosztása a Web-fejlesztés más programozók csoportja Web-fejlesztés „My developerWorksön”.

Te - nem tagja a közösségnek, a „My developerworks”? Csatlakozz most!

következtetés

Ez a cikk leírja, hogyan kell használni a Flash bővítheti a web-alapú alkalmazások. Most már jelentősen növeli a kapacitását a helyi memória érhető el az alkalmazás. Ez lehetővé teszi, hogy a cache nagy mennyiségű adatot a kliens oldalon. Azt is megtanultam, hogy hogyan lehet a domainek Ajax-hívást web-alapú alkalmazások segítségével a Flash. Ez csak egy kis része által kínált lehetőségeket a Flash. Ha találsz valami mást, ami segített, akkor ugyanazokat a módszereket alkalmazza: Tedd a Flash láthatatlan és beillesztés funkciók segítségével ExternalInterface.

Kapcsolódó cikkek