HTTPQUERY
Español

208 Already Reported

Uso

Cuando un cliente recibe 208 Already Reported dentro de un cuerpo 207 multi-status, el recurso ya se describió antes en esa misma respuesta. No se aportan detalles adicionales para la entrada duplicada.

Este código de estado existe específicamente para las WebDAV Binding Extensions. Un recurso vinculado a varias ubicaciones dentro de la misma colección aparece una vez de forma completa y otra vez como 208 Already Reported, lo que rompe la posible recursión cuando una solicitud con Depth: infinity encuentra un recurso que se referencia a sí mismo.

Solo WebDAV

El código de estado 208 Already Reported aparece exclusivamente dentro de los cuerpos de respuesta 207 multi-status. Un servidor nunca envía un 208 como estado HTTP de respuesta de nivel superior.

Ejemplo

El cliente envía una solicitud PROPFIND con Depth: infinity para enumerar la colección /main/. El recurso /main/dependent está vinculado al mismo recurso subyacente que /main/.

El servidor devuelve primero los detalles completos de /main/ y después devuelve 208 Already Reported para /main/dependent, con el fin de romper el bucle recursivo.

Solicitud

PROPFIND /main/ HTTP/1.1
Host: example.com
Depth: infinity
DAV: bind
Content-Type: application/xml; charset="utf-8"
Content-Length: 139

<?xml version="1.0" encoding="utf-8" ?>
<d:propfind xmlns:d="DAV:">
  <d:prop>
    <d:name/>
    <d:link/>
  </d:prop>
</d:propfind>

Respuesta

HTTP/1.1 207 Multi-Status
Content-Type: application/xml; charset="utf-8"
Content-Length: 568

<?xml version="1.0" encoding="utf-8" ?>
<d:multistatus xmlns:d="DAV:">
  <d:response>
    <d:href>http://example.re/main/</d:href>
    <d:propstat>
      <d:prop>
        <d:name>Main Resource</d:name>
        <d:resource-id>
          <href>urn:uuid:1234-0000</href>
        </d:resource-id>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
  <d:response>
    <d:href>
      http://example.re/main/dependent
    </d:href>
    <d:propstat>
      <d:prop>
        <d:name>Main Resource</d:name>
        <d:resource-id>
          <href>urn:uuid:1234-0000</href>
        </d:resource-id>
      </d:prop>
      <d:status>
        HTTP/1.1 208 Already Reported
      </d:status>
    </d:propstat>
  </d:response>
</d:multistatus>

Referencias de código

.NET

HttpStatusCode.AlreadyReported

Rust

http::StatusCode::ALREADY_REPORTED

Rails

:already_reported

Go

http.StatusAlreadyReported

Symfony

Response::HTTP_ALREADY_REPORTED

Python3.5+

http.HTTPStatus.ALREADY_REPORTED

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_ALREADY_REPORTED

Angular

@angular/common/http/HttpStatusCode.AlreadyReported