102 Processing
사용법
서버가 102 Processing 상태 코드를 보내면 클라이언트는 HTTP 연결을 유지한 채 최종 응답이 도착하기를 기다립니다. 서버는 결국 최종 응답을 반환해야 하며, 그렇지 않으면 실제 타임아웃이 발생합니다.
102 Processing 상태 코드는 더 이상 현행 HTTP 명세의 일부가 아니지만, 원래의 WebDAV 명세를 참조로 하여 IANA HTTP Status Code Registry에는 여전히 등록되어 있습니다. 실무에서는 아직도 이 코드를 사용하는 서버가 있습니다. 잘 구현된 HTTP 클라이언트는 인식하지 못하는 정보성 상태 메시지를 무시하므로, 이 응답은 명시적인 지원이 없는 클라이언트에도 부정적인 영향을 주지 않습니다.
참고
최종 HTTP 응답에 앞서 여러 개의 102 Processing 상태 업데이트가 전송됩니다.
SEO 영향
검색 크롤러는 중간 단계의 102 Processing 응답을 무시하고 최종 응답만 처리합니다. 이 코드는 크롤링이나 순위에 아무런 영향을 주지 않습니다.
예시
클라이언트가 sample.pdf 파일을 요청하고, 서버는 처리에 평소보다 오래 걸린다는 뜻의 상태 코드를 반환합니다. 잠시 기다린 뒤 서버는 또 한 번 처리 중 업데이트를 보냅니다. 다시 한 번의 지연 후, 서버는 최종 응답을 보냅니다.
요청
GET /sample.pdf HTTP/1.1
Host: example.com
응답
HTTP/1.1 102 Processing
<there is a short pause in the transmission>
HTTP/1.1 102 Processing
<there is a short pause in the transmission>
HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Length: 10000
<message body will follow>
코드 참고
.NET
HttpStatusCode.Processing
Rust
http::StatusCode::PROCESSING
Rails
:processing
Go
http.StatusProcessing
Symfony
Response::HTTP_PROCESSING
Python3.5+
http.HTTPStatus.PROCESSING
Apache HttpComponents Core
org.apache.hc.core5.http.HttpStatus.SC_PROCESSING
Angular
@angular/common/http/HttpStatusCode.Processing