INDEX
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 상태 코드를 적절히 사용할 수 있습니다.