Christian Seiler: header("http/1.1 303 See other");

Beitrag lesen

Hallo Tom,

Was muss denn da noch übertragen werden?

Ähm, Du hast die entsprechende Stelle im RFC 2616 gelesen?

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.1:

| Unless it was a HEAD request, the response SHOULD include an entity containing a list of resource characteristics and location(s) from which the user or user agent can choose the one most appropriate.

Also eine Stinknormale URI-Liste in irgendeinem Format. (z.B. text/html oder application/xhtml+xml)

Theoretisch könnte man auch eine Standard-Sprachauswahl-Seite (mit den verschiedenen Links) als 300 ausliefern. Das wäre IMHO der ideale Verwendungszweck für so etwas.

| However, this specification does not define any standard for such automatic selection.

Der Browser sollte besser nicht versuchen, was rauszupicken, denn das ist nicht standardisiert.

| If the server has a preferred choice of representation, it SHOULD include the specific URI for that representation in the Location field;

Wenn es einen vom Server bevorzugten »Zielort« gibt, dann sollte der im Location-Header mitgegeben werden.

Mozilla 1.2.1 unter Linux leitet bei mir automatisch weiter, wenn ein Location-Header mit angegeben wird, ansonsten wird der Inhalt der Seite (genau: des Bodies des HTTP-Requests) angezeigt. Andere Browser teste ich vielleicht mal bei Gelegenheit.

Kann man den 300er auch mit der header()-Funktion erzeugen oder muss ich da ne Stufe tiefer klettern?

Header ('HTTP/1.1 300 Multiple Choices');
 (Apache)
Header ('Status: 300 Multiple Choices');
 (einige andere Webserver)

Christian

--
Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.