Turėjau gi tokį smagumą pažaist su vienu java appletu. Na, ne paslaptis – tai JHotDraw pagrindu padarytas AnyWikiDraw + mediawiki. Nusprendžiau papiešti šiek tiek, vietoje išsaugojimo gavau klaidą (normalu – konfigūracijos klaida, tiksliau, klaida pačiame pluginse). Paremontuojam tą problemą.
…Va čia ir prasidėjo. Naršyklėje (Seamonkey 1.1) matau vis tiek tą pačią klaidą mėginant išsaugoti piešinuką. Vienaip, kitaip pamėginu – vis tiek tas pats.
…Atjungiam proxy – vis tiek tas pats.
…Pravalom cookie iš tos pusės (kurie šiaip mažai įdomūs pačiam AnyWikiDraw, na, bet dėl visa ko), išvalom naršyklės cache, java cache – tas pats.
Išvalom cache dar kartą, uždarius visus puslapius. About:cache irgi tyli. Rankom išvalom naršyklės bei java cache katalogus, %TEMP% bei viską kas tik gali būt įtartina.Pluginsas atkakliai gražina 403 Forbidden.
Pradedu žaliuot, pereinu per webserverio logus (lighttpd + išorinis php-fcgi, su atskiru loginimu) – tuščia, švaru, tik matau kad pats webserveris gražina 403.
Strace ant webserverio proceso parodė, kad tas “403” headeris atkeliauja iš paties PHP. Vadinas, ten viduje yra kažkokia gudresnė logika.
Pasiimam 4 naršykles – Seamonkey, Avant Browser (IE-Trident varikliukas), Safari bei Opera. Visur uždedam vieną ir tą patį UserAgent headerį – kad visi apsimestų mano seamonkey. Visur išvalom cache. Pakartojam eksperimentą. Visos naršyklės sugeba teisingai išsaugoti paveiksliuką, išskyrus seamonkey (kuri beje kitoje vietoje su tuo pačiu anywikidraw sėkmingai išsaugo paveiksliuką be problemų, t.y. ne pačios naršyklės problema).
Kadangi laikas spaudė (kartais reikia ir darbus dirbt, ne tik įdomius bugus remontuot) tai teko palikt šį įdomų variantą neišspręstą. Headerių palyginimas nieko nedavė – nei viena naršyklė nesiunčia kažko įpatingo.
… O atrodo jau šitoj vietoj žinau daugiau mažiau viską, ir nieko nutikti įdomaus negali ;-)