Это 302 редирект на относительный URL-адрес действителен или недействителен?
на основе RFC кажется, что поле Location в HTTP-ответе для 302 должно быть абсолютным. http://tools.ietf.org/html/rfc2616#section-14.30
Если это утверждение верно, браузер соблюдает это - или они позволяют относительные пути?
2 ответа:
Это ошибка в RFC 2616. См http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p2-semantics-17.html#rfc.section.9.5.
RFC 2616 требует абсолютного URI в
Location
, но этот стандарт был заменен, с июня 2014 года. Соответствующими спецификации спецификации RFC 7231. Элемент соответствующий раздел из нового стандарта говорит:Location = URI-reference
значение поля состоит из одной URI-ссылки. Когда он имеет форма относительной ссылки ([RFC3986], раздел 4.2), окончательная значение вычисляется путем его разрешения против эффективный URI запроса ([RFC3986], Раздел 5).
Итак, относительный URI разрешено. Элемент эффективный запрос URI в большинстве случаев совпадает с URI запроса.