Hello World

간단히 살펴보는 HTTP Status Code 본문

Back-End/좋은글

간단히 살펴보는 HTTP Status Code

EnterKey 2016. 8. 10. 17:48
반응형

HTTP Status Code는 HTTP 통신을 할때 서버에서 클라이언트한테 응답을 할때 3자리 숫자로 의미를 담아 코드로 보내주는 것입니다.


브라우저 콘솔창에 자주 보이는 3자리 숫자 에러코드 여기에도 의미가 있습니다.

가장 흔히 많이 아는 코드는 404입니다.


“404 페이지를 찾을 수 없습니다”, “404 Page Not Found” 기억 나시나요?




더 많은 코드를 상세하게 설명과 함께 보고 싶으시면

아래 위키피디아 링크에 가셔서 보실 수 있습니다.

HTTP Status Code - Wikipedia



너무 많다…

크게 코드는 5가지로 나뉜다고 생각하시면 쉬워요.


100

client가 넘겨준 header를 잘 받았다와 같은 처음에 요청이 잘 시작되었다.


200

client가 요청한 것을 성공적으로 잘 끝냈다.

201 - 리소스 생성 (회원가입, 새로운 글, 새로운 이미지)


300

보통 페이지 주소가 바뀌었을 때 보내는 코드입니다.

301 - 영구적 주소 변경
302 - 일시적 주소 변경


400

client가 잘못했을 때 나타내는 코드 입니다.

401 - 권한이 없다
403 - 금지된 요청
404 - 존재하지 않는 리소스/페이지


500

서버 쪽에서 에러가 난 코드들이 500 입니다.




가끔 좀 더 높은 번호로 흔히 많이 쓰여지지 않는 의미를 부여해서 쓰기도 하지만

570 - 존재하지 않는 상품 코드



제가 위에 명시한 코드들이나 위키피디아에 나와 있는 코드들을 통상 많이 쓰고 저런 의미로 사용하고 있습니다.

간혹 API개발을 할 때 HTTP STATUS 200 코드로

{ status: "error", message: "invalid parameter" }

와 같은 결과를 보내는 경우가 있습니다.



예를들어 jQuery를 사용해서 ajax요청을 처리하는 경우에 에러 (400, 500 코드) 인데도 불구하고

$.ajax({
    method: "GET",
    url: requestUrl,
    success: function(result, status, xhr) {
        // 200 계열 코드가 여기
    },
    error: function(xhr, status, error) {
        // 400~500 계열 코드가 여기
    }
});

success callback에서 처리하는 기묘한 상황이 벌어집니다.


에러는 error callback에서 처리하는게 더 자연스러워 보이죠?

반응형
Comments