207 Multi-Status: 여러 상태가 반환되었음을 나타내는 HTTP 상태 코드

スポンサーリンク
スポンサーリンク

207 Multi-Status에 대하여

207 Multi-Status의 개요

여러 작업 결과를 제공하는HTTP 상태 코드

207 Multi-Status

개요 207 Multi-Status는 단일 요청에 대해 여러 리소스의 상태를 반환할 때 사용되는 HTTP 상태 코드입니다. 이 코드는 주로 WebDAV 프로토콜에서 사용되며, 응답은 XML 형식으로 각 리소스에 대한 자세한 정보를 제공합니다.

의미 클라이언트의 요청에 대해 여러 리소스의 상태가 반환됩니다.

207 Multi-Status가 반환되는 경우

  • WebDAV 작업에서 여러 리소스에 대한 결과를 단일 응답으로 반환할 때
  • 요청된 각 리소스에 대해 서로 다른 상태가 필요한 경우
  • 배치 작업의 결과를 한 번에 반환해야 할 때

207 Multi-Status의 예시

WebDAV에서 여러 리소스의 상태 보고

PROPFIND /files/ HTTP/1.1  
Host: example.com  

응답 예시:

HTTP/1.1 207 Multi-Status  
Content-Type: application/xml; charset=UTF-8  

<?xml version="1.0" encoding="UTF-8"?>
<multistatus xmlns="DAV:">
  <response>
    <href>/files/file1.txt</href>
    <status>HTTP/1.1 200 OK</status>
  </response>
  <response>
    <href>/files/file2.txt</href>
    <status>HTTP/1.1 404 Not Found</status>
  </response>
</multistatus>

설명: 클라이언트가 디렉터리 내 모든 리소스의 속성을 요청할 때 207 상태 코드가 반환됩니다. 응답은 XML 형식으로 각 리소스의 상태를 개별적으로 제공합니다.

배치 작업의 결과

POST /batch HTTP/1.1  
Host: example.com  
Content-Type: application/json  

{ "operations": [ 
    { "action": "delete", "resource": "/file1.txt" }, 
    { "action": "delete", "resource": "/file2.txt" } 
  ] 
}  

응답 예시:

HTTP/1.1 207 Multi-Status  
Content-Type: application/json  

{ "results": [ 
    { "resource": "/file1.txt", "status": "200 OK" }, 
    { "resource": "/file2.txt", "status": "404 Not Found" } 
  ] 
}

설명: 클라이언트가 여러 작업을 요청하고 각 작업의 결과가 다를 때 207 상태 코드가 사용됩니다. 응답은 JSON 형식으로 각 리소스의 결과를 제공합니다.

주의 사항

207 Multi-Status를 반환할 때 주의해야 할 사항:

  • 응답 형식의 일관성 유지
    XML 또는 JSON과 같은 일관된 형식으로 각 리소스의 결과를 제공해야 합니다.
  • 개별 상태의 명확화
    각 리소스의 상태를 명확히 설명하여 클라이언트가 결과를 정확히 분석할 수 있도록 해야 합니다.

관련 HTTP 상태 코드와의 비교

207 Multi-Status와 관련된 HTTP 상태 코드를 설명합니다:

  • 200 OK: 단일 리소스의 성공을 나타냅니다.
  • 404 Not Found: 요청된 리소스를 찾을 수 없을 때 사용되며, 207 응답 내에서 개별 리소스의 상태로도 사용될 수 있습니다.

이 차이를 이해하면 207 상태 코드를 적절히 사용할 수 있습니다.