Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Netzwerke
>
Problem mit .htaccess
Problem mit .htaccess
dom_beta
21.05.13
23:03
Hallo,
ich habe ein Problem mit meiner .htaccess Datei.
ExpiresActive On
ExpiresDefault "modification"
Options -Indexes
ErrorDocument 401 /401.htm
ErrorDocument 403 /403.htm
ErrorDocument 404 /404.htm
Bei der Überprüfung der zurückgegebenen HTTP-Codes gibt mir Safari für HTML-Dateien immer den Code 200 und für CSS-Datein 304 an.
Interessant ist aber, daß keine der Dateien verändert wurden.
Wie genau müsste ich die .htaccess Datei ändern, damit man dies auch für die HTML- und andere Dateien bei Nichtmodifizierung ein 304 Code bekommt?
Danke.
„...“
Hilfreich?
0
Kommentare
MacRudi
21.05.13
23:35
Hallo dom_beta,
was ist denn eigentlich der Sinn dahinter?
Ich habe einen Safari-Bug gemeldet, der schon seit 4 Jahren seiner endgültigen Bearbeitung entgegensieht. Und vielleicht hängt das zusammen. Hier hatten nämlich Firefox, IE und Safari ein stark unterschiedliches Verhalten an den Tag gelegt.
Hilfreich?
0
dom_beta
21.05.13
23:40
Was der Sinn dahinter ist?
Mmmh, Traffic einsparen.
Ich weiß ob es ein Safari Bug ist, aber bei HTML-Dateien meldet Safari immer den Code 200 und bei CSS-Dateien den Code 304 (Not Modified - Nicht modifiziert - was ja auch stimmt).
Drum gehe ich davon aus, daß die .htaccess vielleicht falsch konfiguriert ist.
Statuscode 304
Die angeforderten Daten haben sich seit dem angegebenen Zeitpunkt nicht geändert und werden deshalb nicht gesendet. Dieser Status-Code ist neben dem Code 200 einer der häufigsten in der Praxis. Er tritt auf, wenn ein moderner Webbrowser, der die Daten noch im Cache hat, eine Anfrage an den Server sendet und dabei den Ladezeitpunkt der Daten in seinem Cache übermittelt. Stellt der Server dann fest, dass sich die Daten seit dem angegebenen Zeitpunkt nicht geändert haben, braucht er sie nicht noch einmal zu übermitteln, sondern sendet nur diesen Statuscode und keine Daten. Der Browser holt daraufhin seine alte Version aus dem Cache.
„...“
Hilfreich?
0
dom_beta
22.05.13
00:09
Es scheint wohl doch um ein Safari-Bug zu handeln, denn Firebug meldet beim erneuten Aufrufen den HTTP-Code 304.
„...“
Hilfreich?
0
dom_beta
22.05.13
00:16
tatsächlich - Safari Bug.
Google Chrome und Firefox melden 304, nur Safari nicht (Version 6.0.4 und 5.1.9)
„...“
Hilfreich?
0
breaker
22.05.13
00:22
Was der Sinn dahinter ist?
Mmmh, Traffic einsparen.
Bei den paar KB die eine CSS/HTML Datei hat in Zeiten, wo selbst die günstigen Webhosting-Pakete oft Unlimited Traffic beinhalten ist das doch nicht etwa dein ernst, oder?
Hilfreich?
0
dom_beta
22.05.13
00:30
nicht nur das, es soll dem Google Bot die Arbeit erleichtern und die Seite soll bei den Besuchern auch zügiger aufgebaut werden.
„...“
Hilfreich?
0
MacRudi
22.05.13
08:28
Dass Dateien, die gegenüber der gecachten Version nicht neuer sind, nicht geladen werden vom Server, sondern der Browser sie aus dem Cache nimmt, ist doch ohne diese .htaccess-Datei schon so. Deshalb die Frage, was soll diese .htaccess-Datei machen?
Die letzten drei Zeilen geben an, welche Datei im Fehlerfall 401 bis 403 angezeigt werden soll. Nämlich nicht die Standard-Datei vom Server, sondern eine eigene.
Die dritte Zeile stellt aus, dass bei Aufrufen eines Ordners dessen Dateien angezeigt werden.
Die Bedeutung der ersten beiden Zeilen weiß ich nicht.
Traffic sparen ist schon sinnvoll, weil alles, was der Server nicht senden muss, entlastet ihn.
Und der lokale Cache ist einfach schneller. Dass das nicht sehr viel bei dieser Dateigröße ausmacht ist klar, aber wenn eigene Anwendungen immer größer werden, wie bei mir, dann versucht man den Server zu schonen. Bei Massenhostern, wo ein paar Hundert Domains auf einem Rechner liegen, muss man eben sehen, dass man mit dem einen Rechner eine gute Performance hat.
Hilfreich?
0
dom_beta
22.05.13
08:50
Hallo,
wie bereits gesagt, der Server unterstützt If-Modified-Since.
Außerdem gibt es Richtlinien von Google:
Richtlinien für Webmaster, Google
Technische Richtlinien
Stellen Sie sicher, dass Ihr Webserver den HTTP-Header "If-Modified-Since" unterstützt. Über diese Funktion kann Ihr Webserver Google mitteilen, ob der Inhalt seit dem letzten Crawling Ihrer Website geändert wurde. Mit dieser Funktion können Sie Bandbreite und Overhead sparen.
„...“
Hilfreich?
0
MacRudi
22.05.13
09:32
Es gibt Seiten im Internet, die Dir die vom Webserver gesendeten Header anzeigen. Dann kannst Du sehen, ob "If-Modified-Since" dabei ist.
Die ersten beiden Zeilen Deiner .htaccess kannst Du eventuell auch weglassen, wenn bei Deinem Provider das eh der Default ist. Du kannst ja mal schauen, ob es für die gesendeten Header einen Unterschied macht und hier wieder berichten.
Frohes Knobeln
Rüdiger
Hilfreich?
0
dom_beta
22.05.13
09:33
Habe ich doch gerade geschrieben, daß es dabei ist.
„...“
Hilfreich?
0
MacRudi
22.05.13
09:39
Eine solche Seite ist zum Beispiel:
http://www.webconfs.com/http-header-check.php
Mein Server liefert folgende Werte:
HTTP/1.1 200 OK =>
Date => Wed, 22 May 2013 07:37:31 GMT
Server => Apache
Last-Modified => Mon, 04 Mar 2013 15:34:11 GMT
ETag => "f97cdfa4-54d-4d71b16a762c0"
Accept-Ranges => bytes
Content-Length => 1357
Connection => close
Content-Type => text/html
Hilfreich?
0
MacRudi
22.05.13
09:42
Du hast aber nicht geschrieben, ob Deine beiden ersten Zeilen der .htaccess dafür nötig sind und was die überhaupt machen sollen.
Hilfreich?
0
MacRudi
22.05.13
09:46
Last-Modified
wird normalerweise benutzt vom Browser, um zu entscheiden: vom Server neu laden oder aus dem lokalen Browser-Cache nehmen.
Hilfreich?
0
dom_beta
22.05.13
10:28
*seufz*
If Modified Since Tool
„...“
Hilfreich?
0
MacRudi
22.05.13
13:15
Bei meinen Domains bei 1&1 wird defaultmäßig "If-Modified-Since" nicht unterstützt.
Soll Deine .htaccess dies bewirken?
Hilfreich?
0
beanchen
22.05.13
13:42
Ihr redet aneinander vorbei.
dom_beta
MacRudi will wissen, ob deine Einträge überhaupt nötig sind oder ob sie nicht den Fehler verursachen, da dein Server von Haus aus "If Modified Since" unterstützt.
„Unterwegs in Analogistan: https://www.zdf.de/comedy/heute-show/heute-show-spezial-vom-19-januar-2024-100.html“
Hilfreich?
0
MacRudi
22.05.13
13:52
Danke
Ist ja auch die Frage, worum es geht.
a. dom_beta hat sein Problem für sich gelöst.
oder
b. die anderen haben eine Chance gehabt, das Problem nachvollziehen zu können.
Hilfreich?
0
MacRudi
22.05.13
16:15
Bei Unterstützung (wer auch immer was unterstützt, das ist ja noch zu eruieren) meldet der Server beim ersten Aufruf normal den Status 200, beim erneuten Aufruf aber 304.
Hier die Header beim ersten und zweiten Aufruf:
1.
Server Response HTTP/1.1
200
OK
HTTP/1.1 200 OK
Date: Wed, 22 May 2013 13:51:36 GMT
Server: Apache/2.2.24 (CentOS)
Last-Modified
: Wed, 22 May 2013 00:57:25 GMT
...
2.
Server Response HTTP/1.1
304
Not Modified
HTTP/1.1 304 Not Modified
Date: Wed, 22 May 2013 13:51:36 GMT
Server: Apache/2.2.24 (CentOS)
...
Hilfreich?
0
dom_beta
22.05.13
23:07
beanchen
MacRudi will wissen, ob deine Einträge überhaupt nötig sind oder ob sie nicht den Fehler verursachen, da dein Server von Haus aus "If Modified Since" unterstützt.
ja, sind sie.
Die ganzen Sachen müssen in der .hatccess Datei eingetragen werden.
vgl.
„...“
Hilfreich?
0
MacRudi
22.05.13
23:38
Weißt Du dom_beta, dafür, dass ich Dir den Tip mit dem Safari-Bug genannt habe, könntest Du mir meine Fragen auch gern mal beantworten. Schließlich willst Du was wissen. Aber anscheinend hast Du es nicht nötig. Und drum werde ich Dir auch nicht mehr helfen.
Hilfreich?
0
dom_beta
22.05.13
23:45
Wie ich oben bereits schrieb:
Es gibt einen Anzeigefehler in Safari, der fälschlicherweise Status 200 anzeigt, obwohl der Status 304 sein müsste.
Mit dem Server und seiner Konfiguration ist alles in Ordnung. Das Problem hat sich gelöst.
„...“
Hilfreich?
0
MacRudi
23.05.13
01:04
Es ist kein Anzeigefehler, sondern ein Kommunikationsfehler, aber ...
Hilfreich?
0
dom_beta
23.05.13
01:45
nö, Chrome und Firefox melden beim erneuten Aufruf Status 304. Safari meldet 200. Das ist aber falsch mit der 200, richtig wäre 304.
„...“
Hilfreich?
0
beanchen
23.05.13
07:57
dom_beta
vgl.
Äh, jetzt stehe ich auf dem Schlauch. Du hast zwar für dich beschlossen, das Problem sei gelöst und du scheinst wenig Lust zu haben, das hier weiter zu diskutieren, ich versuche es trotzdem mal:
Im verlinkten Thread taucht der Fehler auf, dass trotz geänderter Dateien die alten angezeigt werden. An einem fälschlicherweise gesendeten oder interpretierten 200 kann das aber nicht liegen. Wenn dann doch eher an 304. In diesem Thread liegt das Problem aber genau anders herum! Und deswegen finde ich die Frage, ob deine Modifikationen diesen Fehler nicht zumindest begünstigen durchaus berechtigt.
Übrigens, die Problematik aus dem ersten Thread hatte ich auch schon öfters. Es lag aber nie am Server, an der Website oder an meinem Rechner, es lag immer an Komponenten dazwischen.
„Unterwegs in Analogistan: https://www.zdf.de/comedy/heute-show/heute-show-spezial-vom-19-januar-2024-100.html“
Hilfreich?
0
MacRudi
23.05.13
08:36
Meiner Erinnerung nach wertet Safari die Information
Last modified
nicht aus. Dementsprechend kann Safari garnicht entscheiden, ob die Datei auf dem Server jetzt neu ist oder nicht.
Früher war Safari klasse, weil jedesmal neu geladen wurde, wenn man auf den Aktualisierenknopf geklickt hat. Als Webseitenentwickler war das sehr angenehm, weil man immer den aktuellen Stand der Seite sehen konnte, ohne Aktualisieren klicken zu müssen. Inzwischen hat sich das Verhalten von Safari geändert. 1. muss man Aktualisieren, um den augenblicklichen Stand sehen zu können und 2. wird beim Aktualisieren nur noch die aufgerufene Seite aktualisiert. In iframes oder Frames angezeigte Seiten werden nicht aktualisiert. Workaround: diese Seiten im neuen Tab öffnen und dort aktualisieren. Für einen Entwickler ein Ausweg, für einen User natürlich nicht zumutbar. Der denkt, er sieht bei jedem Aufruf den aktuellen Stand.
Das ist erstmal der normal verständliche Stand. Die Safari-Entwickler haben da eine Entscheidung zu treffen, sich an das Verhalten anderer Browser (IE und FF) anzupassen oder noch einen anderen Weg zu gehen. Der Standard war nämlich geringfügig abweichend. Und drum können sie sich wohl nicht durchringen an der Stelle. Müsste mal in den Bug schauen, wie der momentane Stand ist.
Hilfreich?
0
MacRudi
23.05.13
09:41
Korrektur: Man brauchte früher nicht auf den Aktualisierenknopf klicken, weil Safari immer neu geladen hat.
Hilfreich?
0
dom_beta
23.05.13
10:18
die HTTP-Statusmeldungen kannst du über Entwickler > Webinfofenster > Timelines > Netzwerkanfragen einblenden lassen.
„...“
Hilfreich?
0
Stranger
23.05.13
10:35
Also bei mir funktionieren die Header ohne Probleme, erster Aufruf 200, zweiter Aufruf 304.
Ich habe es mit dem aktuellen Safari 6.0.4 und der Webkit Nightly Build Version getestet, also tippe ich eher darauf, dass es an deinem Server liegen könnte.
Hilfreich?
0
fluppy
23.05.13
10:47
Was muss in einer .htaccess stehen, wenn nur auf eine Datei weitergeleitet werden soll, wenn Status des Aufrufs 200 ist?
Funktioniert 304 auch bei deaktivieren browsercache?
Hilfreich?
0
dom_beta
23.05.13
10:52
Die HTTP-Statuscodes kann man hier lesen:
„...“
Hilfreich?
0
dom_beta
23.05.13
10:53
Stranger
Also bei mir funktionieren die Header ohne Probleme, erster Aufruf 200, zweiter Aufruf 304.
Ich habe es mit dem aktuellen Safari 6.0.4 und der Webkit Nightly Build Version getestet
Redest du vom "If Modified Since Tool"?
„...“
Hilfreich?
0
fluppy
23.05.13
10:54
dom_beta
Die HTTP-Statuscodes kann man hier lesen:
Soll das eine Antwort auf meine frage sein?
Hilfreich?
0
dom_beta
23.05.13
16:28
bspw. hier
„...“
Hilfreich?
0
dom_beta
26.05.13
14:24
Übrigens, mit Google's PageSpeed Tool kann man die Geschwindigkeit der Webseite testen:
"Meine" Seite erreicht dabei 97 von 100 Punkten.
MTN nur 81 Punkte.
„...“
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
Apple gewährt Einblick in Audio- und Video-Test...
20 Jahre Mac mini
M4 Max: Noch beeindruckendere Benchmark-Ergebni...
iOS 18: Kritik an neuer Fotos-App reißt nicht ab
iOS 18 mit ungewöhnlich hohem Energieverbrauch?
Mac mini M4: Reparaturhandbuch bestätigt austau...
Interview: Größte private Mac-Sammlung
Bericht: Produktionsstopp der Apple Vision Pro?