의미
서버가 요청 헤더를 받았으므로 클라이언트가 본문을 계속 보내도 된다는 뜻입니다. 최종 상태 코드 전에 보내는 임시 응답입니다.
흔한 원인
- 클라이언트가 대용량 업로드 전에 Expect: 100-continue를 보냄
- curl은 1 KB가 넘는 POST 본문에 Expect: 100-continue를 붙임
- 프록시나 서버가 본문을 받겠다고 확인함
해결 방법
클라이언트 또는 방문자라면
고칠 것이 없습니다. 100을 기다렸다가 본문을 보내세요. 서버가 응답하지 않으면 짧은 타임아웃 후 본문을 보내거나 Expect 헤더를 빼세요(curl -H 'Expect:').
사이트나 API 운영자라면
대부분의 서버는 100을 자동으로 보냅니다. 인증, Content-Length 같은 헤더를 먼저 검증하고, 어차피 본문을 거부할 거라면 100 대신 최종 오류(401, 413)로 응답하세요.
응답 예시
HTTP/1.1
HTTP/1.1 100 Continue 명세
자주 묻는 질문
› 브라우저 네트워크 탭에서 100 Continue를 볼 수 있나요?
보통은 볼 수 없습니다. 브라우저는 Expect: 100-continue를 보내지 않고 임시 응답도 숨깁니다. 100은 주로 curl, SDK, 업로드 클라이언트에서 만납니다.
› 100 Continue가 최종 응답인가요?
아닙니다. 정보성 응답입니다. 본문이 도착한 뒤 서버는 200, 201, 413 같은 최종 상태를 반드시 보내야 합니다.