어제 공부한 웹의 작동방식 중에 서버에서 요청에 응답하면 '200 OK' 라는 메시지를 보낸다는 내용이 있었다. 이와 비슷한 다른 응답코드들도 있을꺼 같다는 의문점이 생겨서 오늘의 웹 공부는 HTTP 에서의 응답코드 종류들을 한번 알아보려고 한다. 정리해보니 정말 많았다. 지금은 단순히 외우고 있지만 실제로 겪어보면 빨리 외우게 될거라고 믿는다.
100 ~ 199 (조건부 응답) - Informational
요청을 받고 작업을 계속 진행하고 있다.
응답코드 | 설명 |
---|---|
100 | 진행중 |
101 | 프로토콜 전환 중이며 서버가 승인 중 |
200 ~ 299 (성공) - Successful
클라이언트의 요청을 성공적으로 처리했다.
응답코드 | 설명 |
---|---|
200 | 서버가 요청을 성공적으로 처리 |
201 | 생성작업을 요청받아 서버가 새 리소스를 작성 |
202 | 서버가 요청을 수신하였으나 아직 처리하지 않음 |
203 | 서버가 요청을 처리하였으나 요청이 검증되지 않음 |
204 | 서버가 요청을 처리하였으나 제공할 컨텐츠가 없음 |
205 | 서버가 요청을 처리하였으나 제공할 컨텐츠가 없음 그러나 204와 달리 새로고침으로 문서보기를 재설정할 것을 요구 |
206 | 서버가 요청의 일부만 처리, 지정된 범위 만큼 요청을 받은 것을 알려줌. |
300 ~ 399 (리다이렉션 완료) - Redirection
클라이언트의 요청을 마무리하기 위해서는 추가 동작을 취해야한다.
응답코드 | 설명 |
---|---|
300 | 서버가 요청에 따라 여러 조치를 선택할 수 있다. 서버가 클라이언트가 선택할 수 있는 작업 목록을 제공한다. |
301 | 요청한 페이지를 새 위치로 영구적으로 이동, 옮겨진 URL에 대한 정보와 함께 응답되어야 한다. |
302 | '301' 이 영구이동이면 '302' 임시이동이다. 현재 서버가 다른 위치의 페이지로 요청에 응답하고 있지만 클라이언트는 여전히 원래 위치를 요청할 것을 의미. |
303 | 요청받은 행동 수행을 위해서는 다른 URL로 요청 해야함을 의미 |
304 | 이전 요청과 비교하여 요청한 페이지는 변화가 없다. (단시간에 반복된 동일 요청에 대한 대응 코드) |
305 | 반드시 프록시(우회경로)를 통해 요청되어야 함 |
307 | 302와 동일, HTTP Method도 변경없이 요청하여야 함을 의미 |
400 ~ 499 (요청 오류) - Client Error
클라이언트에 오류 혹은 잘못된 요청이 있음을 나타낸다.
응답코드 | 설명 |
---|---|
400 | 클라이언트가 잘못된 요청을 보냄 |
401 | 요청에 권한이 필요함 |
403 | 요청이 거부됨. 서버가 요청을 거부함. |
404 | 클라이언트가 요청한 리소스를 서버 내에서 찾을 수 없음 |
405 | 요청에 지정된 방법을 사용할 수 없음 |
406 | 클라이언트의 요청한 컨텐츠로 응답불가 |
407 | '401' 과 비슷하지만, 프록시를 사용하여 인증이 필요함 |
408 | 요청에 응답시간 초과 |
409 | 서버가 요청을 수행 중 충돌이 발생, 서버는 응답할 때 충돌에 대한 정보를 포함 |
410 | 서버는 요청한 리소스가 영구적으로 삭제됨 |
411 | 클라이언트 요청에 Content-length 헤더가 포함되어야 함 |
412 | 클라이언트가 조건부 요청을 했으나 부과한 조건을 만족하지 못함 |
413 | 요청이 너무 커서 서버에서 처리불가 |
414 | 요청 URI이 너무 길어 서버가 처리불가 |
415 | 요청이 요청한 페이지에서 지원하지 않는 형식임 |
416 | 요청이 페이지에서 처리할 수 없는 범위임 |
417 | 서버가 Expect 요청 헤더 입력란의 요구사항을 만족하지 않음 |
클라이언트 요청에 대해 서버가 유효한 요청을 수행하지 못함.
응답코드 | 설명 |
---|---|
500 | 서버 오류로 응답불가 |
501 | 서버에 요청을 수행할 수 있는 기능이 없음 |
502 | 서버가 게이트웨이나 프록시 역할을 하고 있거나 혹은 업스트림 서버에서 잘못된 응답을 받음 |
503 | 서버를 일시적으로 사용불가 (서버의 임시점검 및 유지보수) |
504 | 서버에서 다른 서버로 요청을 보냈으나, 응답 지연이 발생하여 처리불가 |
505 | 서버가 요청에 사용된 HTTP 프로토콜 버전을 지원하지 않음 |