100 Continue에 대하여
100 Continue의 개요
요청 준비 단계를 최적화하는HTTP 상태 코드 | ||
100 Continue 개요 100 Continue는 클라이언트가 서버에 보낼 요청이 유효하며, 클라이언트가 요청 본문을 계속 전송해도 된다는 것을 알리는 HTTP 상태 코드입니다. 이 코드는 일반적으로 요청 헤더에 |
||
의미 서버가 요청의 초기 부분을 수신하였으며, 클라이언트에게 요청을 계속 진행하라고 지시했습니다. |
100 Continue가 반환되는 경우
- 클라이언트가
Expect: 100-continue
헤더를 포함하여 요청을 보낸 경우 - 요청 본문을 보내기 전에 서버의 승인을 받고자 할 경우
- 큰 데이터를 전송하면서 불필요한 통신을 방지하려고 할 경우
100 Continue의 예시
요청 초기 부분 확인
POST /upload HTTP/1.1 Host: example.com Content-Length: 1048576 Expect: 100-continue
응답 예시:
HTTP/1.1 100 Continue
설명: 클라이언트가 Expect: 100-continue
헤더를 포함하여 요청을 보내면, 서버는 100 상태 코드를 반환하여 요청을 수락할 준비가 되었음을 알립니다. 이 후 클라이언트는 요청 본문(예: 대용량 데이터)을 계속 전송할 수 있습니다.
오류 상황에서의 대체 응답
POST /upload HTTP/1.1 Host: example.com Content-Length: 1048576 Expect: 100-continue
응답 예시:
HTTP/1.1 417 Expectation Failed
설명: 서버가 요청을 수락할 준비가 되지 않은 경우, 100 상태 코드 대신 417 Expectation Failed
를 반환할 수 있습니다.
주의 사항
100 Continue를 반환할 때 주의해야 할 사항:
- 요청 본문을 받기 전에 반환
100 상태 코드는 요청 본문을 수신하기 전에 반환해야 합니다. - 클라이언트의 기대를 적절히 처리
Expect: 100-continue
를 무시하면 클라이언트-서버 간 통신 효율이 저하될 수 있습니다.
관련 HTTP 상태 코드와의 비교
100 Continue와 관련된 HTTP 상태 코드에 대한 설명:
- 200 OK: 요청이 완전히 성공했을 때 사용됩니다. 100 상태 코드는 중간 단계를 나타냅니다.
- 417 Expectation Failed:
Expect: 100-continue
가 충족되지 않았을 때 반환되는 오류 상태입니다.
이 차이를 이해하면 100 상태 코드를 적절히 사용할 수 있습니다.