728x90
반응형

📡 “404야, 내 마음도 Not Found다...”


✅ HTTP 상태코드란?

서버가 클라이언트의 요청에 대해 어떤 결과를 돌려줬는지 알려주는 숫자 코드입니다.

예를 들어...

  • "응, 잘 받았어!" → 200 OK
  • "어..? 너 누구?" → 401 Unauthorized
  • "뭐라는 거야?" → 400 Bad Request

🎯 상태코드는 크게 5가지로 나뉩니다

범위의미예시
1xx 정보 거의 안 씀
2xx 성공 200, 201, 204
3xx 리다이렉트 301, 302, 304
4xx 클라이언트 에러 400, 401, 403, 404
5xx 서버 에러 500, 502, 503, 504
 

🔵 2xx: 성공했어요!

코드의미설명
200 OK 정상 처리 완료 제일 자주 보는 성공 코드
201 Created 생성됨 POST로 새 리소스 생성 시
204 No Content 응답 본문 없음 처리는 됐지만 줄 말은 없음
 

🟡 3xx: 어이쿠! 이리로 와요~

코드의미설명
301 Moved Permanently 영구 이동 브라우저 캐싱까지 함
302 Found 임시 이동 예전에는 흔히 사용했음
304 Not Modified 변경 없음 캐시 덕에 통신량 절약~
 

🔴 4xx: 너가 잘못했어 (Client Error)

코드의미설명
400 Bad Request 요청이 이상해요 문법 오류, 파라미터 실수 등
401 Unauthorized 인증 필요해요 토큰 없어! 로그인 먼저!
403 Forbidden 권한 없어 있어도 안돼요 ❌
404 Not Found 찾을 수 없어요 페이지 없어… 내 인생도...
 

⚫ 5xx: 서버가 잘못했어요 (Server Error)

코드의미설명
500 Internal Server Error 서버가 터졌어요 💥 대표적인 오류 코드
502 Bad Gateway 게이트웨이 문제 보통 nginx랑 친함
503 Service Unavailable 잠시만요~ 서버 과부하, 점검 중
504 Gateway Timeout 응답 없어요 서버가 너무 느림... zzz
 

😂 코드별 상황극 예시

[404 Not Found]
👉 너 걔 봤어?
👤 누구?
👉 내 미래.
[403 Forbidden]
👉 사장님, 이 폴더 좀 볼게요.
👤 ...너 권한 없어. 꺼져.

🔐 상태코드, 실무에선 이렇게 써요!

  • API 응답에 반드시 상태코드 명확히 반환
  • 정상 처리: 200 또는 201
  • 예외 처리: 400, 401, 403, 500 등 구분
  • 프론트와 협업 시 명확한 상태 정의 문서 공유 필요
728x90
반응형
728x90
반응형

RESTful API는 웹 개발자라면 반드시 알아야 할 핵심 기술입니다.


✅ REST란 무엇인가요?

**REST(Representational State Transfer)**는 2000년에 로이 필딩(Roy Fielding)이 논문에서 처음 제안한 아키텍처 스타일입니다.
쉽게 말해, 웹에서 자원을 HTTP 방식으로 다루는 표준화된 방법이라고 생각하시면 됩니다.


📌 REST의 6가지 핵심 제약조건

제약 조건설명
1. 클라이언트-서버 구조 역할을 분리하여 유지보수성과 확장성 향상
2. 무상태(Stateless) 요청 간 서버는 클라이언트 상태를 저장하지 않음
3. 캐시 처리 가능 응답 데이터는 캐싱될 수 있어야 함
4. 계층화 시스템 중간 서버를 통해 확장 구조 구성 가능
5. 인터페이스 일관성 URI, HTTP 메서드 등 통일된 사용법 준수
6. 코드 온 디맨드 (선택사항) 서버가 클라이언트에 스크립트 전송 가능
 

🧭 RESTful API란?

REST 원칙을 따르는 API를 말합니다. 즉, HTTP 메서드와 URL을 이용해 자원을 CRUD 방식으로 처리하는 것이죠.


🚀 RESTful API 예제

가상의 블로그 게시글(Post)에 대한 API를 설계한다고 가정해볼게요.

기능HTTP 메서드URI설명
목록 조회 GET /posts 모든 게시글 조회
단일 조회 GET /posts/{id} 특정 게시글 조회
작성 POST /posts 게시글 작성
수정 PUT /posts/{id} 게시글 전체 수정
삭제 DELETE /posts/{id} 게시글 삭제
 

🔄 RESTful 하지 않은 API 예시

GET /getPosts
POST /createPost
  • ❌ 이런 방식은 RESTful하지 않습니다.
  • ✅ RESTful 방식은 명사 중심 URI와 HTTP 메서드를 적절히 사용하는 것이 핵심입니다.

💡 RESTful API 설계 시 팁

  • URI에는 동사 대신 명사 사용
  • URI는 소문자 사용
  • 언더스코어(_)보단 하이픈(-) 사용 권장
  • 응답 상태 코드 (200, 201, 400, 404 등) 정확히 설정
  • 예외 응답은 JSON 형태로 일관되게 처리

🛠️ RESTful API 구현 프레임워크

  • Spring Boot (Java)
  • Express (Node.js)
  • Flask / Django REST Framework (Python)
  • FastAPI (Python, 최신 트렌드)
  • Laravel (PHP)
728x90
반응형

+ Recent posts