공부/뭐더라

HTTP 서버 응답 코드

동곤영 2022. 3. 5. 20:52

404 Not Found       403 Forbidden?

개발을 진행하다 보면 콘솔에서 여러 가지 응답 코드를 볼 수 있는데

 

보기만 하고 대충 넘어갔지 그 응답 코드가 왜 나오는지는 모르고 넘어갔던 경험이 있다.

 

그래서 더 이상 모르고 넘어가면 안되기에 찾아보았다.

 

응답 코드가 뭘까?

클라이언트에서 서버로 어떠한 요청을 하면 서버는 응답을 보내준다.

 

정상적으로 처리된 경우 응답은 성공과 함께 결과 값을 보내주기도 하고,

 

정상적으로 처리되지 않은 경우에는 실패 응답과 에러 정보를 보내주기도 한다. 

 

예를 들어 서버가 정상 응답한 경우 200 코드를 보내준다. 

 

200을 포함하여 200번대 응답은 서버에서 정상적으로 처리하여 응답한 경우, 보내주는 값들이다.

 

코드는 100번대 단위로 응답 코드가 구분되어 있다.

- 100번대는 100번대 끼리 200번대는 200번 대끼리 유사한 형태의 응답 코드라는 의미

 

응답코드는 3자리 숫자의 첫 번째 코드만 보고도 어떤 종류의 응답인지 알 수 있다. 이를 Response Class 라고 한다.

 

Response Class

Response Class Code Response Class 의미 설명
1xx Informational (정보) 리퀘스트를 받고, 처리 중에 있음
2xx Success (성공) 리퀘스트를 정상적으로 처리함
3xx Redirection (리다이렉션) 리퀘스트 완료를 위해 추가 동작 필요함
4xx Client Error (클라이언트 오류) 클라이언트 요청을 처리할 수 없어 오류 발생
5xx Server Error (서버 오류) 서버에서 처리 하지 못하여 오류 발생

 

자주 접하는 코드

 

200 번대 : 성공(Success)

200 OK 요청 정상 처리
204 No Content - 요청 정상 처리하였지만, 돌려줄 리소스 없음.
- 응답에 어떠한 엔티티 바디도 포함하지 않음.
- 서버에서 처리 후, 클라이언트에 정보를 보낼 필요가 없는 경우 사용
206 Partial Content - Range가 지정된 요청인 경우, 지정된 범위만큼의 요청을 받았다는 것을 알려줌

 

300 번대 : 리다이렉션(Redirection)

301 Moved Permanently 요청된 리소스에는 새로운 URI가 지정되어 있기 때문에, 이후로는 새 URI를 사용해야 한다는 것을 나타냄
302 Found 요청된 리소스에는 새로운 URI가 지정되어 있기 때문에, 이후로는 새 URI를 사용해야 한다는 것을 나타냄 (301과 유사하지만, 302는 일시적인 URI이동)
303 See Other 이 응답은 요청에 대한 리소스는 다른 URI에 있기 때문에 GET 메소드를 사용해서 얻어야 한다는 것을 나타냄. (302 코드와 같지만, 303은 리다이렉션 위치를 GET 메소드를 통해 얻어야 한다고 명확하게 되어 있음)
304 Not Modified 요청한 리소스가 마지막 요청 이후 변경된 적이 없기 때문에 기존 클라이언트의 로컬 캐시 리소스를 사용하도록 알려줌
(300번대로 분류되어 있지만, 리다이렉션과는 관계없는 처리를 함)
307 Temporary Redirect  임시로 페이지를 리다이렉트함

 

400 번대 : 클라이언트 에러(Client Error)

400 Bad Request - 클라이언트의 요청 구문이 잘못됨
- 브라우저는 이 응답을 200 응답과 동일한 형태로 취급
401 Unauthorized 요청 처리를 위해 HTTP 인증 정보가 필요함을 알려줌, 접근 허용을 차단함.
403 Forbidden 접근 금지 응답
404 Not Found 클라이언트가 요청한 리소스가 서버에 없음
405 Method Not Allowed 허용되지 않는 HTTP 메소드 사용

 

500 번대 : 서버에러(Server Error)

500 Internal Server Error 서버에서 클라이언트 요청을 처리 중에 에러가 발생함
503 Service Unavailable - 서버가 일시적으로 요청을 처리할 수 없음
- 서버가 과부하 상태이거나 점검중이므로 요청을 처리할 수 없음
504 Gateway Timeout - 서버를 통하는 게이트웨이에 문제가 발생하여 시간이 초과됨
505 Http Version Not Supported - 해당 HTTP 버전에서는 지원되지 않는 요청

 

 

이상 그냥 지나갔던 응답코드에 대해 알아보았다.

 

 

 

 

 

글 정리 참고 블로그 : https://ooz.co.kr/260

 

HTTP 서버 응답 코드 (Response Code) 정리

오늘은 HTTP 통신 시, 서버에서 보내주는 응답 코드에 대해 간단히 정리해 보려고 합니다. (개인적으로도 가끔 쉽게 찾아보려고 정리하는 겸 해서 게시물을 작성하였습니다.^^) 클라이언트(웹

ooz.co.kr

 

'공부 > 뭐더라' 카테고리의 다른 글

카테고리 설명  (0) 2022.03.05