이 글은 보초님 깃허브 레포를 참고해서 공부한 글입니다
서버가 클라이언트의 요청에 대해 응답하는 방식을 나타내는 숫자 코드이다.
요청이 성공했는지, 추가 조치가 필요한지, 클라이언트 오류가 발생했는지, 서버 오류가 발생했는지 나타낸다.
상태 코드 | 상태 텍스트 | 의미 |
---|---|---|
100 | Continue | 계속 진행하라 |
상태 코드 | 상태 텍스트 | 의미 |
---|---|---|
200 | Ok | 요청이 성공적으로 되었습니다. |
201 | Created | 요청이 성공적이었으며 그 결과로 새로운 리소스가 생성되었습니다. |
상태 코드 | 상태 텍스트 | 의미 |
---|---|---|
301 | Moved Permanently | 지정한 리소스가 새로운 URI 로 이동하였다. |
상태 코드 | 상태 텍스트 | 의미 |
---|---|---|
400 | Bad Request | 요청의 구문이 잘못 되었다. |
401 | Unauthorized | 요청한 리소스에 대한 액세스 권한이 없다. |
403 | Forbidden | 요청한 리소스에 대한 액세스가 금지되었다. |
404 | Not Found | 요청 리소스를 찾을 수 없다. |
상태 코드 | 상태 텍스트 | 의미 |
---|---|---|
500 | Internal Sever Error | 서버에 오류가 있다. |
502 | Bad Gateway | 게이트웨이 또는 프록시서버가 오류가 생겼다. |
504 | Gateway Timeout | 게이트웨이 또는 프록시서버가 정해진 Timeout 시간동안 클라이언트의 요청을 처리하지 못했다. |
클라이언트의 요청이 인증을 필요로 함을 의미한다.
요청한 리소스를 얻기 위해서는 먼저 인증이 필요하다는 것을 나타낸다.
ex) 웹 사이트에 로그인을 하지 않고 로그인을 필요한 페이지에 접근하려 할 때
클라이언트의 요청을 서버가 이해했지만, 클라이언트가 요청한 행동을 수행할 권한이 없음을 나타낸다.
ex) 관리자 전용 페이지에 일반 사용자가 접근하려고 할 때
401
은 올바른 인증 정보가 제공되면 요청이 승인될 수 있지만 403
은 이미 인증 과정을 거쳤지만 접근 권한이 없음을 나타낸다.200, 201 둘다 클라이언트의 요청이 성공적으로 이뤄졌다는 의미이지만, 201 은 성공과 동시에 새로운 리소스가 생성되었다는 의미를 포함한다.
POST, PUT 에 대한 응답에 주로 사용된다.
기술적으로 서버가 클라이언트에게 어떤 HTTP 응답 코드를 반환할지 결정할 수 있지만, 호환성,가독성,유지 보수 측면에서 생각해봐야 할 부분이 많다.
호환성
가독성과 유지보수