본문 바로가기
DBA

[Django] HTTP error code 401, 403, 404, 405, 415, 500

by 엘리후 2024. 4. 3.

요즘 프로젝트를 진행하면서 정말 자주 접하는 HTTP 에러 코드들이 있습니다. 매번 볼때마다 당황하지 않고 빠르게 해결하기 위해서 다시 한번 머릿속으로 복습해보려고 이 글을 써봅니다.

 

#401 UnAuthorized

인증 문제 : Token을 잘못보낸 케이스 ( JS headers확인, Authorization: Bearer + token) 자주 발생. 주로 JS에서 api의 headers를 확인해보면 오타가 있거나 , token을 올바르지 않은 형식으로 보내고있거나, payload에서 토큰을 정상적으로 가져오고 있지 못할때 발생했었습니다.

 

#403 Forbidden

주로 권한 문제, 현재 열려고 하는 웹페이지 또는 리소스가 액세스 할 수 없는 경우 발생을 합니다. 과거에 한번 발생을 했었는데, 검색을 많이하고 해결을 했었던 기억이 있습니다. 정확한 상황이 기억이 나질 않아서 우선은 403에 관한 제가 봤던 글을 링크 달아놓으려고 합니다.

https://ko.eyewated.com/403-%EA%B8%88%EC%A7%80-%EB%90%9C-%EC%98%A4%EB%A5%98%EB%A5%BC-%EC%88%98%EC%A0%95%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95/

 

403 금지 된 오류 란 무엇이며 어떻게 수정합니까?

403 금지 된 오류를 수정하는 방법 403 Forbidden 오류는 HTTP 상태 코드 로서 어떤 이유로 도달하려는 페이지 또는 리소스에 대한 액세스가 절대적으로 금지됨을 의미합니다. 서로 다른 웹 서버는 서

ko.eyewated.com

 

#404 Not found

주로 잘못된 url주소로 호출을 할 때 흔하게 나오는 에러입니다. 백엔드에 설정된 url은 items/인데 

아래의 이미지 처럼 item으로 호출을해서 404 에러가 발생한것을 볼 수 있습니다.

 

#405 Method not allowed

post,get HTTP 메소드 에러 , 제가 이 에러가 떴을땐 실수로 백엔드 view에서 post로 호출했는데 class내부에 post함수가 없을때 였습니다. 정말 처음 봤을땐 왜 이 에러가 생긴건지 몰라서 허둥지둥 당황했었는데, 원인을 알고나서는 허무 했던 기억이 있네요.

 

#415 unsupported media type

주로 클라이언트와 서버의 요청/응답하는 데이터의 매개변수 설정이 잘못되었을때 발생한다고 합니다. 

json데이터로 보내는데 header에 content-type을 application/json으로 설정 안했을때 이 에러가 발생했었습니다. 

헤더타입과 request body 에서 JSON.stringify() 를 했는지 확인 해보면 좋습니다.

 

 

#500 Internal Server error

서버 문제 : 500 에러가 발생하면 서버에러가 발생한것입니다. 저는 처음에 500에러도 프론트 문제인줄 알고 헛짓을 하곤했죠 하지만 서버를 확인해보면 서버에 에러가 떠있습니다. 500에러가 발생했다면 서버에 생긴 에러를 확인하고, 에러를 핸들링하고 절대 클라이언트에게 보이지 않도록 해야합니다.

댓글