반응형
흔히들 가장 사이트를 개발하거나 이용하다 보면 404 에러라는 걸 많이 접하게 될 겁니다. 그리고 대부분의 사람들은 이제 404 에러가 무엇인지를 알 정도로 많이 익숙해있습니다. 그럼 403은?? 404는 페이지를 못 찾는다는 건데 403은 뭐지?? 이런 의문이 생기기도 할 겁니다. 그 외에도 많은 응답 코드들이 있고 이는 아래의 사이트에 영문으로 정의되어있습니다. 이 중에서 일부 자주 보게 되는 응답 코드 기준으로 정의해 볼까 합니다.
https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1
응답 코드는 일단 3자리 수 중에서 첫 번째에 따라 구분이 나눠집니다.
1XX: 정보제공 성격의 응답코드
2XX: 응답 성공과 관련된 코드 (주로 200이 반환)
3XX: Redirect를 알리는 응답 코드
4XX: 클라이언트 요청에 대한 오류
5XX: 서버에서 발생한 요류
응답코드 | 응답명칭 | 내용 |
200 | OK | 클라이언트의 요청에 대해 정상적으로 수행완료되었을 경우 사용합니다. Response Body에 요청과 관련된 내용이 포함되며 오류내용을 전달하는 경우엔, 4XX대 응답코드를 반환하도록 권장합니다. |
201 | Created | 클라이언트가 어떤 리소스 생성을 요청했고, 이에 대한 리소스가 성공적으로 생성되었을 경우 사용합니다. |
204 | No Content | 클라이언트의 요청을 정상적으로 수행하였고, Response Body가 없는 경우에 사용됩니다. 예를 들어 게시글의 조회수 증가 등은 조회수 증가를 요청만 하면 될 뿐, 그에 대한 응답을 받을 필요가 없기 때문에 이러한 응다보드를 받아볼수 있습니다(정의에 따라 다를 수 있습니다). |
301 | Moved Permanently | 클라이언트가 요청한 리소스에 대한 URI가 변경된 경우 해당 응답코드를 반환하며 응답 시 Location Header에 변경된 URI가 포함되어야 합니다. |
400 | Bad Request | 클라이언트의 요청이 부적절한 경우의 응답코드입니다. 예를 들어 서버로 요청한 내용 중 유효성 검증에 실패한 경우 해당 응답코드가 반환될 수 있으며, 이 경우 Response Body에 해당 사유가 포함되어야 합니다. |
401 | Unauthorized | 인증되지 않은 클라이언트가 보호된 리소스에 접근하는 경우 반환되는 응답코드입니다. 예를 들어 로그인 하지 않은 사용자가 마이페이지에 접근하거나 관리자 권한이 없는 사용자가 관리자 페이지에 접근하는 경우 확인 가능합니다. |
403 | Forbidden | 클라이언트가 요청한 리소스는 존재하지만 서버가 그 링크로의 접근을 거부한 경우입니다. 여러 사유가 있을 수 있지만, 그 중에 보안상 이유로 감춰진 경우도 포함됩니다. |
404 | Not Found | 클라이언트가 요청한 리소스가 존재하지 않는 경우 응답코드입니다. |
405 | Method Not allowed | 클라이언트가 요청한 리소스가 사용이 가능하지 않은 Method를 이용한 경우로 예를 들어 일기전용 리소스에 DELETE Mtehod르 ㄹ사용한경우 해당 응답코드가 반환됩니다. |
500 | Internal Server Error | 404 만큼 자주 볼 수 있는 에러로 서버에 문제가 발생한 경우 볼 수 있습니다. 주로 서버가 Off된 경우가 많은데, 단일 서버를 사용중인 사이트의 경우 서버 반영 등에도 해당 500에러를 클라이언트가 볼 수 있습니다. |
502 | Bad Gateway | 클라이언트의 요청을 받은 서버가 게이트웨이 또는 프록시의 역할을 하는 동안 업스트림 서버로 부터 잘못된 응답을 받은 경우 해당 응답코드를 반환합니다. |
504 | Gateway Timeout | 서버가 게이트웨이 또는 프록시 역할을 하는 동안 URI가 지정한 업스트림 서버(예: HTTP, FTP, LDAP) 또는 요청을 완료하기 위해 액세스하는 데 필요한 다른 보조 서버(예: DNS)로부터 요청된 응답시간내에 응답을 받지 못했다. |
반응형
'개발 창고 > Web' 카테고리의 다른 글
[JSTL] Formatting태그(1) (0) | 2020.08.27 |
---|---|
[JSTL] Core태그 (0) | 2020.08.26 |
[Javascript] Excel 다운로드 기능 구현하기 (4) | 2020.08.21 |
[Spring] FCM Push서버 개발시 고려사항 (0) | 2020.08.20 |
[Spring] WEB-INF에 접근하기 (0) | 2020.08.20 |