Welche versteckten Funktionen von HTTP sind Ihrer Meinung nach erwähnenswert?
Mit versteckten Funktionen meine ich Funktionen, die bereits Teil des Standards sind, aber weitgehend unbekannt oder nicht verwendet.
Nur eine Funktion pro Antwort bitte.
Die Tatsache, dass der Überweiser falsch geschrieben wurde und entschieden wurde, dass die Rechtschreibfehler beibehalten werden sollten.
quelle
Offensichtliche Antwort: PUT, DELETE, TRACE, OPTIONS, CONNECT-Methoden
Die meisten Leute kennen die GET- und POST-Methoden, weil sie diese beim Erstellen von Formularen verwenden. Browser verwenden auch häufig HEAD. Die anderen Methoden sind viel weniger bekannt; Sie werden hauptsächlich von spezifischeren Anwendungen verwendet.
quelle
Hat jemand jemals gesehen, dass 402 Zahlung erforderlich ist ?
quelle
204 Kein Inhalt
Ich dachte, 204 wäre nur, wenn Sie keinen Inhalt zum Anzeigen haben, sondern die Spezifikation sieht so aus, als ob es ein zusätzliches Verhalten gibt, dass der Benutzeragent "seine Dokumentansicht nicht ändert".
Gemäß HOWTO: Konfigurieren Sie Apache so, dass ein HTTP 204 (kein Inhalt) für AJAX zurückgegeben wird
Außerdem schlägt 204 No Content vor, dass dies eine gute Technik für "Web-Bugs" oder "Beacons" ist, wenn Sie bis zum letzten Byte des Netzwerkverkehrs sparen möchten, den Sie können.
quelle
Antwortcode
410 Gone
:Web-Spider (insbesondere Google) deindizieren (normalerweise beim nächsten Crawlen) eine Seite, die 410 zurückgibt.
quelle
Verwenden Sie in dynamischen Inhalten den Header Last_Modified oder ETag
Manchmal haben Sie dynamische Inhalte, deren Erstellung groß und / oder kostspielig sein kann und die sich möglicherweise nicht von Anforderung zu Anforderung ändern. Sie können Ihrer generierten Antwort einen Last_Modified- oder ETag-Header hinzufügen.
Oben in Ihrem teuren dynamischen Code können Sie mit If_Modified_Since oder If_None_Match feststellen, ob der Inhaltsanforderer noch aktuell ist. Wenn dies der Fall ist, ändern Sie den Antwortstatus in "304 Unmodified" und beenden Sie die Anforderung.
Einige serverseitige Technologien bieten solche Funktionen formal, aber Sie können die oben genannten Funktionen auch in ASP-Classic verwenden.
Beachten Sie, dass dies von der Einstellung von Cache-Control, Expires-Headern dadurch abweicht, dass sichergestellt wird, dass der Client auf Anfrage immer über die neuesten Informationen verfügt.
quelle
Sie können beantragen wieder einen (großen) HTTP - Antwort (zB Datei - Download) mit
Range
undIf-Range
Request - Header mit jeweils dem angegebenen Byte - Bereich und der einzigartigen Dateikennung oder der Dateiänderung Zeitstempel. Dies ist möglich, wenn der Server dasAccept-Ranges: bytes
undETag
oder gesendet hatLast-Modified
Header Antwortheader bei der ersten Antwort mit der Benachrichtigung gesendet hat, dass der Server Bytebereichsanforderungen unterstützt, der eindeutigen Dateikennung und dem Zeitstempel für die Dateimodifikation.Die erste Antwort kann folgendermaßen aussehen (die
ETag
besteht normalerweise aus Dateiname, Größe und Zeitstempel der letzten Änderung):Wenn der Download beispielsweise bei 1 KB (1024 Byte) abgebrochen wird, kann der Client ihn wie folgt fortsetzen:
Welches sollte diese Antwort mit den entsprechenden Bytes im Körper zurückgeben:
quelle
ReST versucht, HTTP als Schnittstellenprotokoll an seine Grenzen zu bringen.
Es ist keine versteckte Funktion , aber wenn man sich gut definierte ReST-APIs ansieht, kann man einen guten Überblick darüber bekommen, wie HTTP funktionieren soll, und wunderbare Beispiele dafür finden, was mit einer einfachen Kombination von HTTP-Methoden, Statuscodes und Headern erreicht werden kann und her.
quelle
Trailer (im Gegensatz zu Header)
quelle
Mit dem Protokoll können Sie Ihre eigenen benutzerdefinierten Felder definieren. Diese können verwendet werden, um andere Informationen zu übertragen, wenn Sie keine Cookies dafür verwenden möchten.
quelle
HTTP 100 (Weiter) Status
Ein Client kann eine Anforderungsnachricht mit einem Anforderungshauptteil senden, um festzustellen, ob der Ursprungsserver bereit ist, die Anforderung anzunehmen.
In einigen Fällen kann es für den Client unangemessen oder höchst ineffizient sein, den Text zu senden, wenn der Server die Nachricht ablehnt, ohne den Text zu betrachten.
Könnte verwendet werden, um Datenverkehr von unerwünschten Clients zu vermeiden .. und / oder wo Bandbreite ein kostbares Gut ist.
Für die vollständige Nutzung dieser Funktion gibt es jedoch einige Kriterien für HTTP1.1-Clients, -Server und -Proxys. Weitere Informationen zu HTTP-Verbindungen finden Sie im HTTP / 1.1-RFC 2616 .
quelle
Statuscodes :
http://www.domain.invalid/index.php?id=44
aufgerufen wird und die query (id=44
) keine Ressource zurückgeben konnte, warum nicht einen Statuscode zurückgeben404
?http://www.domain.invalid/index.php?id=foo
aufgerufen wird, währendid
nur Ganzzahlen akzeptiert werden, warum nicht einen Statuscode zurückgeben400
?200
(ok, kein Problem, Sie machen es gut) zurück401
?Ja, Statuscodes scheinen für einige Webentwickler eine Art geheime Funktionalität von HTTP zu sein ... Aber ich frage mich, ob das okkulteste aller "Merkmale" dieses Protokolls nicht sein RFC ist !
quelle
401
ist nur für die HTTP-Authentifizierung und nicht für andere Arten. Afaik veranlasst die meisten Browser, den Benutzer nach einem http-Passwort zu fragen.HTTP-Authentication
... ^^ Ist es so schwer, sie zu verwenden, anstatt das Rad neu zu erfinden?.htaccess
Dateien - wahrscheinlich nur eine Webmaster kann aktualisieren. Daher ist die HTTP-Authentifizierung für die Verwaltung der Benutzerrechte und der An- und Abmeldung einer Anwendung nicht besonders geeignet.HTTP-Authentication
, und sogar PHP kann damit umgehenHTTP-Authentication
( php.net/manual/en/features.http-auth.php ). Wenn Sie ein Webentwickler sind, müssen Sie die Grundlagen der Serververwaltung nur aus Sicherheitsgründen erlernen! Da Webentwickler über Kenntnisse als Webmaster / Systemadministrator verfügen müssen, kann er diese Aufgaben problemlos ausführen.