spatne zobrazene stranky v IE 5

Petr Landa landa at oksystem.cz
Wed Feb 23 12:27:45 CET 2000


Jaroslav Lukesh wrote:

> | > Delam stranky a mam problem s jejich
> | > zobrazovanim v Internet Exploreru 5. Dela mi to to, ze vzdycky nahodne
> se mi
> | > nejaky obrazek na strance nezobrazi.
> |
> | Mne to delaji Web servery FastTrack a Enteprise na Novellu. Je to
> | jejich vlastnost :-(. S prohlizecem Netscape je vse OK, "dotazeni"
> | obrazku pravym tlacitkem na MS IE funguje taky.

>
> |
> | Mam na to jednoduchy patch (na tyto druhy Web serveru), ktery na prani
> | mohu poskytnout.
>
> Hmmmm... to vypada zajimave. Co jste tam menil? Max. pocet otevrenych
> spojeni?

Ne. Trik spociva v jine veci. Netscape Web servery (na Novellu, co vim)
nedokazou spravne odpovedet na dotaz klienta "if-modified-since" z HTTP
1.1. Ale jen tehdy, pokud byly cerstve restartovany. A jeste jen tehdy,
pokud takovych dotazu prijde vic "najednou" (typicky kdyz je vice
obrazku na strance.). Klient se takhle pta, kdyz uz mel stranky natazene
a chce se jenom ubezpecit, zda opravdu muze pouzit to, co ma v lokalni
cachi na disku.

Ac je to podivne, pomuze zmenit "last modification time" vsech souboru, ktere
tvori obsah Web serveru, po kazdem restartu Web serveru. Tehdy musi klienti
elementy stranek opravdu znovu stahovat. Muj jednoduchy
skript v Perlu tedy pricte 2 minuty k casu posledni modifikace vsech elementu
stranek a to pomaha.

Psal jsem o tom do konferenci na support.novell.com v lonskem roce nekolikrat.
Nedavno jsem se tamodtud dozvedel radostnou novinku ze NetWare 5.1 s
nejposlednejsi verzi Enterprise Web serveru tu chybu stale ma. Grrrr! :-(

Tady je skriptik kdyby se nekomu hodil (snad tim moc nezahltim stroje):



    print "The 'change document modification time' script begins to run.\n";
#   print "This is to ensure FastTrack web server to be running smoothly...\n";

#   print "This should be run each time after a Web server is restarted.\n";

    $basepath = "sys:/novonyx/suitespot/docs" ; # Document root directory

    @sezAdresaru = qw( . images osnovy rok2000 ); # List of directories that
also
                             #contain documents or GIFs, JPEGs, etc
                             #Note: Each directory with documents OR GIFs must
be here.
                             #For deeper directories, use images/images1 for
instance.


#   print "\n";

    foreach $adresar (@sezAdresaru) {
      if ($adresar eq ".") {
        $pathested = $basepath."/";
      } else {
        $pathested = $basepath."/".$adresar."/";
      }


      if (! opendir (DIRHDL,$pathested)  ) {
        print "\nERROR! Unable to open directory \"$pathested\"" ;
      } else {

        @dirpole = readdir(DIRHDL);
        foreach $polozkaf (@dirpole) {
          $filename = $pathested.$polozkaf;
          if (defined -d $filename) {

            $modifyDate = (stat(_))[9];


            $modifyDate += 120; # Add 2 minutes to the file creation time

            unless (-d _) {
              if (1 != utime($modifyDate,$modifyDate,$filename)) {
                print "\nERROR! Unable to set UTIME for the file
\"$filename\"";
              }
            }


          } else {
            print "\nERROR! Operation stat() failed for the file
\"$filename\"";
          }
        }
        closedir (DIRHDL);
      }
    }

    print "\nEnd of script running.\n";


--
Petr Landa
Technical Instructor with OKsystem, Ltd.
E-mail mailto:landa at oksystem.cz
Bubenske nabrezi 306, Prague 7, Czech Republic
Phone: +420-2-66712643
Fax: +420-2-66712645





More information about the net mailing list