Wiki

A universe of ideas

User Tools

Site Tools


computer:web:redirects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
computer:web:redirects [2019-02-10 05:35] skrupelloscomputer:web:redirects [2020-11-18 18:11] (current) – external edit 127.0.0.1
Line 6: Line 6:
 ^ :::      ^ :::                                                   ^ Erste                                                                                                                                                                               ^ Aktuelle [(https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml)]   ^ :::        ^ :::                                                                                                   ^ :::                                                         ^ ^ :::      ^ :::                                                   ^ Erste                                                                                                                                                                               ^ Aktuelle [(https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml)]   ^ :::        ^ :::                                                                                                   ^ :::                                                         ^
 | 301      | Moved Permanently                                     | [[https://www.greenbytes.de/tech/webdav/rfc1945.html#rfc.section.9.3|RFC 1945]] (1996)                                                                                              | [[https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.4.2|RFC 7231]] (2014)  | Permanent  | (V)\\ (by default)                                                                                    | //Möglich// (üblich [(:rfc7231-6.4.p.3.1)]):\\ POST -> GET  | | 301      | Moved Permanently                                     | [[https://www.greenbytes.de/tech/webdav/rfc1945.html#rfc.section.9.3|RFC 1945]] (1996)                                                                                              | [[https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.4.2|RFC 7231]] (2014)  | Permanent  | (V)\\ (by default)                                                                                    | //Möglich// (üblich [(:rfc7231-6.4.p.3.1)]):\\ POST -> GET  |
-| 302      | Found \\ <wrap lo>(v1.0: "Moved temporarily")</wrap>  | [[https://www.greenbytes.de/tech/webdav/rfc1945.html#rfc.section.9.3|RFC 1945]] (1996)                                                                                              | [[https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.4.3|RFC 7231]] (2014)  | Zeitweise  | (V)\\ (not by default) [(https://www.greenbytes.de/tech/webdav/rfc2616.html#rfc.section.10.3.3.p.1)]  | //Möglich// (üblich [(:rfc7231-6.4.p.3.1)]):\\ POST -> GET  | +| 302      | Found \\ <wrap lo>(v1.0: "Moved temporarily")</wrap>  | [[https://www.greenbytes.de/tech/webdav/rfc1945.html#rfc.section.9.3|RFC 1945]] (1996)                                                                                              | [[https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.4.3|RFC 7231]] (2014)  | Zeitweise  | (V)\\ (not by default)                                                                                | //Möglich// (üblich [(:rfc7231-6.4.p.3.1)]):\\ POST -> GET  | 
-| 303      | See Other                                             | [[https://www.greenbytes.de/tech/webdav/rfc2616.html#rfc.section.10.3.4|RFC 2616]] (1999)\\ <wrap lo>[[https://tools.ietf.org/html/rfc2068#section-10.3.4|RFC 2068]] (1997)</wrap>  | [[https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.4.4|RFC 7231]] (2014)  | Zeitweise  | (X[(https://www.greenbytes.de/tech/webdav/rfc2616.html#rfc.section.10.3.4.p.1)]                     | //Verpflichtend//:\\ * -> GET oder HEAD                     | +| 303      | See Other                                             | [[https://www.greenbytes.de/tech/webdav/rfc2616.html#rfc.section.10.3.4|RFC 2616]] (1999)\\ <wrap lo>[[https://tools.ietf.org/html/rfc2068#section-10.3.4|RFC 2068]] (1997)</wrap>  | [[https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.4.4|RFC 7231]] (2014)  | Zeitweise  | (V)\\ (not by default                                                                               | //Verpflichtend//:\\ * -> GET oder HEAD                     | 
-| 307      | Temporary Redirect                                    | [[https://www.greenbytes.de/tech/webdav/rfc2616.html#rfc.section.10.3.8|RFC 2616]] (1999)                                                                                           | [[https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.4.7|RFC 7231]] (2014)  | Zeitweise  | (V)\\ (not by default) [(https://www.greenbytes.de/tech/webdav/rfc2616.html#rfc.section.10.3.8.p.1)]  | --                                                          |+| 307      | Temporary Redirect                                    | [[https://www.greenbytes.de/tech/webdav/rfc2616.html#rfc.section.10.3.8|RFC 2616]] (1999)                                                                                           | [[https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.4.7|RFC 7231]] (2014)  | Zeitweise  | (V)\\ (not by default)                                                                                | --                                                          |
 | 308      | Permanent Redirect                                    | [[https://www.greenbytes.de/tech/webdav/rfc7238.html|RFC 7238]] (2014)                                                                                                              | [[https://www.greenbytes.de/tech/webdav/rfc7538.html|RFC 7538]] (2015)                    | Permanent  | (V)\\ (by default)                                                                                    | --                                                          | | 308      | Permanent Redirect                                    | [[https://www.greenbytes.de/tech/webdav/rfc7238.html|RFC 7238]] (2014)                                                                                                              | [[https://www.greenbytes.de/tech/webdav/rfc7538.html|RFC 7538]] (2015)                    | Permanent  | (V)\\ (by default)                                                                                    | --                                                          |
 +
  
 [(rfc7231-6.4.p.3.1>[[https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.4.p.3.1]].)] [(rfc7231-6.4.p.3.1>[[https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.4.p.3.1]].)]
  
 <WRAP center round info 80%> <WRAP center round info 80%>
-Nicht vergessen einen //kleinen// Body mit einem Link zur Weiterleitung mit zu schicken.+**Nicht vergessen**: 
 +  * Einen //kleinen// Body mit einem Link zur Weiterleitung mit zu schicken
 +  * Immer ''Cache-Control'' mitschicken.
 </WRAP> </WRAP>
  
   * In dem Body könnte ein ''%%<meta http-equiv="refresh" content="0; url=http://example.com/">%%'' als fallback verwendet werden [(https://www.greenbytes.de/tech/webdav/rfc7538.html#rfc.section.4)], aber auch wenn der RFC das vorschlägt ist die Methode lange deprecated.   * In dem Body könnte ein ''%%<meta http-equiv="refresh" content="0; url=http://example.com/">%%'' als fallback verwendet werden [(https://www.greenbytes.de/tech/webdav/rfc7538.html#rfc.section.4)], aber auch wenn der RFC das vorschlägt ist die Methode lange deprecated.
   * Der Link im Body sowie das Meta-Tag können als fallback dienen, wenn der Status-Code recht neu ist.   * Der Link im Body sowie das Meta-Tag können als fallback dienen, wenn der Status-Code recht neu ist.
-  * Status-Code 302, 303 und 307 spezifizieren die Cachebarkeit nicht mehr explizit im neusten RFC -> immer ''Cache-Controll'' mitschicken. [[https://support.cloudflare.com/hc/en-us/articles/200168326-Are-301-and-302-redirects-cached-by-CloudFlare-|Cloudflare speichert]] zum Beispiel auch 302 für ca. 20 Minuten. 
  
-  * [[https://audisto.com/insights/guides/31/|Lange Abhandlung über Weiterleitungen]] + 
-  [[http://stevesouders.com/tests/redirects/index.php|Online tool zum testen von Weiterleitungen]]+==== Änderung der Speicherbarkeit 2014 ==== 
 +Seit [[https://www.greenbytes.de/tech/webdav/rfc7231.html|RFC 7231]] (2014) ist die Speicherbarkeit von Status-Code 302, 303 und 307 nicht mehr explizit definiert. Die Antworten sind daher alle speicherbar, aber nicht standardmäßig [([[https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.1.p.2]])]. 
 + 
 +^ Status-Code ^ Speicherbarkeit ^^ 
 +^ ::: ^ Vorher ^ Nachher ^ 
 +302 | (V) (not by default) [(https://www.greenbytes.de/tech/webdav/rfc2616.html#rfc.section.10.3.3.p.1)| (V) (not by default) [([[https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.4.3]])] | 
 +| 303 | (X) [([[https://www.greenbytes.de/tech/webdav/rfc2616.html#rfc.section.10.3.4.p.1]])] (V) (not by default) [([[https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.4.4]])] | 
 +| 307 | (V) (not by default) [([[https://www.greenbytes.de/tech/webdav/rfc2616.html#rfc.section.10.3.8.p.1]])] | (V) (not by default) [([[https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.4.7]])] | 
 + 
 +Es ist daher Ratsam immer ''Cache-Control'' mitschicken. [[https://support.cloudflare.com/hc/en-us/articles/200168326-Are-301-and-302-redirects-cached-by-CloudFlare-|Cloudflare speichert]] zum Beispiel auch 302 für ca. 20 Minuten.
  
  
Line 30: Line 41:
   * **305 (Use Proxy)**: Deprecated [([[https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.4.5.p.1]])]   * **305 (Use Proxy)**: Deprecated [([[https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.4.5.p.1]])]
   * **306**: Der Status-Code ist reserviert und war mal als "Switch Proxy" angedacht [([[https://tools.ietf.org/html/draft-cohen-http-305-306-responses-00]])]   * **306**: Der Status-Code ist reserviert und war mal als "Switch Proxy" angedacht [([[https://tools.ietf.org/html/draft-cohen-http-305-306-responses-00]])]
 +
 +==== Weitere Infos ====
 +  * [[https://audisto.com/insights/guides/31/|Lange Abhandlung über Weiterleitungen]]
 +  * [[http://stevesouders.com/tests/redirects/index.php|Online tool zum testen von Weiterleitungen]]
  
 ===== Weiterleitungen mit JavaScript ===== ===== Weiterleitungen mit JavaScript =====
 +==== Mit neuem Eintrag in der History ====
 +Die folgenden drei Statements haben die identische Funktion [([[https://developer.mozilla.org/en-US/docs/Web/API/Window/location#Example_.231.3A_Navigate_to_a_new_page]])]. Sie leiten den Benutzer weiter und erzeugen dabei einen weiteren Eintrag in der Histroy. Wenn man von Seite A auf Seite B geht, wo dann die Weiterleitung auf Seite C stattfindet, dann landet der Benutzer mit dem Zurück-Button wieder auf Seite B.
 +<code javascript>
 +location = "http://www.example.com/";
 +location.href = "http://www.example.com/";
 +location.assign("http://www.example.com/");
 +</code>
 +
 +==== Mit ersetztem Eintrag in der History ====
 +Ersetzt den aktuellen Eintrag in der History. Wenn man von Seite A auf Seite B geht, wo dann die Weiterleitung auf Seite C stattfindet, dann landet der Benutzer mit dem Zurück-Button wieder auf Seite A:
 +<code javascript>
 +document.location.replace("http://www.example.com/");
 +</code>
 +
 +==== Seite Neuladen ====
 +Dies ist nur zur Vollständigkeit da, um eine Entsprechung für das [[#weiterleitenneuladen_mit_refresh_headermeta-tag|Meta-Data Kapitel]] zu liefern.
 +
 +Die folgende Funktion läd die Webseite neu. Ist der Parameter ''false'' oder nicht angegeben, kann die Webseite vom Cache geladen werden [([[https://developer.mozilla.org/en-US/docs/Web/API/Location/reload]])].
 +
 +<code javascript>
 +document.location.reload(forcedReload);
 +</code>
 +
 ===== Weiterleiten/Neuladen mit Refresh Header/Meta-Tag ===== ===== Weiterleiten/Neuladen mit Refresh Header/Meta-Tag =====
 Dieses Verfahren wurde nie standardisiert und ist seit HTML 4.0 //explizit unerwünscht// [([[https://www.w3.org/TR/1998/REC-html40-19980424/struct/global.html#h-7.4.4.2]])]. Dennoch existiert es als living Standard in den meisten Browsern. Folgende Syntax sollte von den meisten Browsern verstanden werden[([[https://dxr.mozilla.org/firefox/source/docshell/base/nsDocShell.cpp#4499]])][([[http://www.otsukare.info/2015/03/26/refresh-http-header]])]: Dieses Verfahren wurde nie standardisiert und ist seit HTML 4.0 //explizit unerwünscht// [([[https://www.w3.org/TR/1998/REC-html40-19980424/struct/global.html#h-7.4.4.2]])]. Dennoch existiert es als living Standard in den meisten Browsern. Folgende Syntax sollte von den meisten Browsern verstanden werden[([[https://dxr.mozilla.org/firefox/source/docshell/base/nsDocShell.cpp#4499]])][([[http://www.otsukare.info/2015/03/26/refresh-http-header]])]:
Line 43: Line 81:
 oder als Meta-Tag in den HTML Head: oder als Meta-Tag in den HTML Head:
 <code html> <code html>
-  <meta http-equiv="refresh" content="5;url=http://www.example.org/fresh-as-a-summer-breeze" />+  <meta http-equiv="refresh" content="5; url=http://www.example.org/fresh-as-a-summer-breeze" />
 </code> </code>
  
computer/web/redirects.1549773359.txt.gz · Last modified: 2020-11-18 18:10 (external edit)