Hirdetés

Keresés

Új hozzászólás Aktív témák

  • modder
    aktív tag

    ismer valaki valami libet verziókövetésre java-ban? Valami olyan kéne hogy egy tárhelyen legyenek fájlok, titkosítva, és a javas kliens a felhasználónál letölti ezeket, de csak akkor ha az adott fájl változott, vagy nincs még letöltve, és persze ezt úgy hogy a tárhely csak tárhely, sima fájlszerver http-n.

    vagy nem specifikáltad eléggé nekünk, vagy ez egyáltalán nem egy bonyolult feladat. Sőt, ezt nem is nevezném a klasszikus értelemben vett verziókövetésnek.

    Ha csak ennyi kell, ezt egy szimpla szervlettel megoldhatod. Amikor a felhasználó kér egy fájlt, get-ben elküldi az általa ismert utolsó módosítási időt vagy a fájl hashét. A szervlet megnézi, hogy a szerveren lévő fájlnak a módosítási ideje későbbi-e, mint a requestben található, vagy nem egyezik-e a hash. Ha a fájl módosult, akkor visszaküldi a response-ban.
    Pont ugyanígy működnek a cache mechanizmusok is http-ben. Erről a két megoldásról tudok. Kicsit utána kell nézi, lehet, hogy Jetty is tudja ezt alapból (lévén, hogy ő egy HTTP server) csak a HTTP headerekben van az info, mert egy decens szerver már csak tudja.
    Persze ehhez egyenként kell lekérdezgetni a fájlokat.
    Azt sem mondtad, hogy mennyi fájlról lenne szó, és hogy a kliens tudja-e alapból a fájl elérési útját. El kell-e tárolni a korábbi verziókat?

  • Karma
    félisten

    ismer valaki valami libet verziókövetésre java-ban? Valami olyan kéne hogy egy tárhelyen legyenek fájlok, titkosítva, és a javas kliens a felhasználónál letölti ezeket, de csak akkor ha az adott fájl változott, vagy nincs még letöltve, és persze ezt úgy hogy a tárhely csak tárhely, sima fájlszerver http-n.

    A dolog onnantól kezdve büdös, mint a Gangesz partja, hogy "sima HTTP fájlszerver". Olyan nem létezik, ha esetleg arra gondolsz, hogy a könyvtár URL-jét beírva mappalistát látsz, az is szerverfüggő, embereknek szánt HTML oldal...

    Ha a fájlok nevei kötöttek és előre ismertek, el lehetne lavírozni a HTTP HEAD hívással és a Last-Modified header értékével. De ha a fájlok nevei változhatnak, bővülhetnek, ez nem elég önmagában.

    Igénytelen béna megoldást lehet építeni kétféleképpen a szerver okosítása nélkül. Az egyik, hogy a szerver által kigenerált fájllistát visszaparsolod kézzel. A másik, hogy csinálsz egy szöveges/XML fájlt kézzel, amit egy fix helyre, amit lehívsz mindig. És kézzel karban tartod jobb eszköz hiányában...

    Ha meg valami okosítást raksz a szerverre, mehet rá SVN, Git (szinkronizálás adott), vagy WebDAV és máris szabványos és kezelhető.

  • TBG
    senior tag

    ismer valaki valami libet verziókövetésre java-ban? Valami olyan kéne hogy egy tárhelyen legyenek fájlok, titkosítva, és a javas kliens a felhasználónál letölti ezeket, de csak akkor ha az adott fájl változott, vagy nincs még letöltve, és persze ezt úgy hogy a tárhely csak tárhely, sima fájlszerver http-n.

    http://svnkit.com/

Új hozzászólás Aktív témák