Ich habe kein favicon.ico, aber mein Browser fordert es immer an.
Ist es möglich, den Browser daran zu hindern, eine Anfrage nach dem Favicon von meiner Website zu stellen? Vielleicht mit einem META-TAG im HTML-Header?
Ich habe kein favicon.ico, aber mein Browser fordert es immer an.
Ist es möglich, den Browser daran zu hindern, eine Anfrage nach dem Favicon von meiner Website zu stellen? Vielleicht mit einem META-TAG im HTML-Header?
Der einfachste Weg, diese zu Testzwecken vorübergehend zu blockieren, besteht darin, die Inspektionsseite in Chrome zu öffnen, indem man mit der rechten Maustaste auf eine beliebige Stelle der Seite klickt und auf "Inspektion" klickt oder indem man Ctrl+Shift+j
und dann auf die Registerkarte "Netzwerke" gehen und dann die Seite neu laden, wodurch alle Anfragen gesendet werden, die Ihre Seite machen soll, einschließlich der lästigen favicon.ico. Sie können nun einfach mit der rechten Maustaste auf die favicon.ico-Anforderung klicken und auf "URL-Anforderung blockieren".
Alle oben genannten Antworten gelten für Entwickler, die den Quellcode der Anwendung kontrollieren. Wenn Sie ein Systemadministrator sind, der sich um die Konfiguration von Load-Balancern oder Proxys kümmert und von diesem favicon.ico-Unfug genervt ist, leistet dieser einfache Trick bessere Arbeit. Diese Antwort ist für Chrome, aber ich denke, es sollte eine ähnliche Alternative geben, die Sie für Firefox/Opera/Tor/jeden anderen Browser herausfinden würden :)
Sie können .htaccess oder Server-Direktiven verwenden, um den Zugriff auf favicon.ico zu verweigern, aber der Server sendet eine Antwort auf die Zugriffsverweigerung an den Browser, was den Seitenzugriff weiter verlangsamt.
Sie können den Browser davon abhalten, die Datei favicon.ico anzufordern, wenn ein Benutzer zu Ihrer Website zurückkehrt, indem Sie sie im Browser-Cache ablegen.
Stellen Sie zunächst ein kleines favicon.ico-Bild bereit, das leer sein kann, aber so klein wie möglich ist. Ich habe ein schwarz-weißes Bild mit weniger als 200 Bytes erstellt. Dann setzen Sie mit Hilfe von .htaccess oder Server-Direktiven die Datei Expires header ein oder zwei Monate in die Zukunft. Wenn derselbe Benutzer Ihre Website erneut aufruft, wird sie aus dem Browser-Cache geladen, und es wird keine Anfrage an Ihre Website gerichtet. In den Serverprotokollen gibt es auch keine 404-Anfragen mehr.
Wenn Sie die Kontrolle über einen kompletten Apache-Server oder vielleicht einen virtuellen Server haben, können Sie dies tun:-
Wenn das Root-Verzeichnis des Servers z. B. /var/www/html ist, fügen Sie Folgendes zu /etc/httpd/conf/httpd.conf hinzu: -
Alias /favicon.ico "/var/www/html/favicon.ico"
<Directory "/var/www/html">
<Files favicon.ico>
ExpiresActive On
ExpiresDefault "access plus 1 month"
</Files>
</Directory>
Dann funktioniert ein einziges favicon.ico für alle virtuell gehosteten Sites, da Sie es als Alias verwenden. Es wird einen Monat lang nach dem Besuch des Nutzers aus dem Browser-Cache gezogen.
Für .htaccess wird berichtet, dass dies funktioniert (von mir nicht überprüft):-
AddType image/x-icon .ico
ExpiresActive On
ExpiresByType image/x-icon "access plus 1 month"
Eine sehr einfache Lösung ist, den folgenden Code in Ihre .htaccess
. Ich hatte das gleiche Problem und es hat mein Problem gelöst.
<IfModule mod_alias.c>
RedirectMatch 403 favicon.ico
</IfModule>
Referenz: http://perishablepress.com/block-favicon-url-404-requests/
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
35 Stimmen
+1 Gute Frage, aber es scheint, dass die einfachste Lösung darin besteht, ein gültiges Favicon hinzuzufügen :-) Sicherlich ist das eine Sache von einer Minute und Ihre Website sieht sofort professioneller aus?
2 Stimmen
Ich mag diese Frage, möchten Sie vielleicht zu erforschen Kodierung einer base64 Favicon innerhalb Ihrer Seite (zugegeben, müssen Sie ein Symbol erste dann zu bekommen).
7 Stimmen
Sie können auch eine leere favicon.ico-Datei verwenden. Dadurch werden die Anfragen (nach der ersten) gestoppt, aber der Browser rendert nicht ein leeres Favicon, wo er normalerweise das Standardsymbol rendert.
60 Stimmen
Ich muss sagen, dass ich mit dem, was der Fragesteller andeutet, völlig einverstanden bin: Wozu sollte etwas extra gemacht werden obligatorisch ? und warum können wir nicht einfach einige Metadaten in die Antwort einfügen, die besagen: "Verhalte dich genau so, als ob du ein favicon.ico angefordert hättest und eine 404 erhalten hättest, nur dass du die Anforderung nicht wirklich stellst und nicht noch einmal nachfragst, bis sich diese Seite ändert".
0 Stimmen
Es gibt eine Reihe guter Antworten, aber ich denke, die beste Antwort sowie die Diskussion über Alternativen finden Sie auf dieser <a href=" stackoverflow.com/questions/5199902/ Überlauf Q&A</a>. Am besten schien es, das Bild in js mit base64 zu kodieren und den Favicon-Link mit einem Hash zu versehen - letzteres wurde oben vorgeschlagen. Es wurden auch ein paar andere Varianten vorgeschlagen.
67 Stimmen
Das ist so ärgerlich. Ich habe einen Webservice, der nur JSON dient und nicht einmal die grundlegende Fähigkeit hat, Dateien ohne einige Änderungen zu dienen (für einen Start, jede Methode erfordert ein Authentifizierungstoken, um ein 401/403 zu vermeiden). Ich protokolliere fehlgeschlagene Anfragen, damit ich sie später analysieren kann - die Protokolle werden ständig mit Anfragen nach einem Favicon überflutet.
3 Stimmen
Wie würden Sie das Hinzufügen einer favicon.ico-Datei zu Ihren REST-APIs rechtfertigen?
7 Stimmen
Wir schreiben das Jahr 2015. Gibt es Neuigkeiten dazu?
0 Stimmen
Danke, ich bin auf dieses Problem mit EpiServer 8 gestoßen. Der Navigationscode, der in einem Header-Teil geteilt wurde, wurde aufgrund der 404-Anfrage, die durch die fehlende favicon.ico verursacht wurde, zweimal ausgeführt. Die folgende Lösung funktionierte wie ein Champion.
0 Stimmen
Ich habe einen Mini-Webserver in einen Dienstprozess eingebaut, um die Operationen des Prozesses zu überprüfen. Jede URL enthält Code, um eine reine HTML-Seite zu erzeugen. Keine Skripte, keine Bilder, keine Icons, nur reines HTML. favicon.ico war eine böse Überraschung, als ich ein Formular-Tag mit einem Eingabe-Tag hinzugefügt habe. Vielen Dank für die Lösung.
2 Stimmen
Bitte beachten Sie, dass alle Webseiten (und die Kopfkonfiguration) nicht die einzigen potenziellen Verantwortlichen für diesen Favicon 403-Fehler sind. Wenn Sie zum Beispiel versuchen, direkt auf eine Website-Ressource zuzugreifen (z. B. beispiel.net/meine-website/bilder/logo.gif ), wird der Browser auch "favicon.ico" anfordern! (getestet mit Google Chrome), das macht mich verrückt für eine Weile ... hoffe, das hilft.
1 Stimmen
Dies ist eine berechtigte Frage, wenn Sie eine Seite mit sehr eingeschränkten CSP-Einstellungen erstellen müssen. Es ist absurd, eine Seite zu öffnen
img-src
oder Ihre Fehlerprotokolle zu spammen, nur um ein unnötiges Favicon zu haben0 Stimmen
Es wäre schön, eine akzeptierte Antwort zu haben. Ich fand die von @Diego-perini gut.
0 Stimmen
Ähnlich wie @Basic, habe ich kein HTML. Ich habe eine Flask-App, die nur JSON-Antworten zurückgibt und über einen Cloudflare-Tunnel läuft, der die App mit Gunicorn bedient. Ich möchte nicht, dass diese Anfragen überhaupt stattfinden und ich möchte kein Favicon. Ich bin ziemlich neu bei der Verwendung von Cloudflare, so dass ich davon ausgehe, es gibt eine Möglichkeit, die Anforderung zu blockieren, aber ich würde wirklich nur lieber haben die Anforderung nie gesendet werden. Gibt es einen Header, den ich setzen sollte, um dem Browser mitzuteilen, dass er die Anfrage gar nicht erst stellen soll?