💡 핵심 요약 (Executive Summary)
본 가이드는 용어 사전 핵심 가이드 및 실전 아키텍처의 핵심 개념, 실전 구성 명령어 및 아키텍처 베스트 프랙티스를 다룹니다. 클라우드 네이티브 및 인프라 엔지니어링 실무에 즉시 활용 가능하도록 체계적으로 정리했습니다.
📑 Table of Contents
웹 개발 공통
기본 용어
Parameter
- 함수 정의에서 사용되는 매개변수
- 아래의
a와b는test함수의 Parameter이다.
javascript
function test(a, b) {
return a + b;
}
Argument
- 함수 사용시 전달하는 인자값
- 아래의
c와d는test호출시의 Argument이다.
javascript
const c = 20;
const d = 10;
test(c, d);
Query Parameter
- URL 에서 ? 이후에 붙는 key=value 쌍
- 아래의
a와b는 요청의 Query Parameter이다.
bash
curl -XGET http://aaa.bbb.ccc/ddd?a=10&b=20
Path Parameter (혹은 Path Variable)
- URI (경로)의 일부로 포함되는 변수
- 아래의
123은 요청의 Path Parameter이다.
bash
curl -XGET http://aaa.bbb.ccc/eee/123
Payload
POST,PUT,PATCHRequest Body에 포함된 데이터- 아래의
-d플래그내 JSON 데이터는 Payload이다.
bash
curl -XPOST http://aaa.bbb.ccc/fff/ \
-H "Content-Type: application/json" \
-d '{"name": "Alice", "age": 30}'
URI
- 자원의 식별자 (리소스를 표현하는 모든 문자열)
- 예시: mailto:[email protected]
URL
- 자원의 위치(Location)와 접근 방식(Scheme)을 포함한 식별자
- 예시: https://example.com/page
- URL은 URI 의 하위 개념이다.
HTTP 상태 코드
✅ 1xx (Informational) – 정보 응답
| 코드 | 의미 | 설명 |
| 100 Continue | 계속 진행 | 클라이언트가 Expect: 100-continue를 보낸 경우 서버가 계속 요청하라고 응답 |
| 101 Switching Protocols | 프로토콜 전환 | WebSocket 등으로 프로토콜을 바꿀 때 사용 |
✅ 2xx (Success) – 요청 성공
| 코드 | 의미 | 설명 | 예시 |
| 200 OK | 요청 성공 | GET, PUT 등 대부분 요청의 일반적인 응답 | GET /users |
| 201 Created | 리소스 생성 성공 | POST 요청으로 새 리소스를 생성한 경우 | POST /users |
| 202 Accepted | 요청 수락 (비동기 처리) | 아직 처리 중일 때 (예: 큐에 저장) | 대규모 배치 작업 등 |
| 204 No Content | 요청 성공, 응답 본문 없음 | DELETE 요청 등 응답이 필요 없는 경우 | DELETE /users/123 |
bash
curl -XDELETE http://aaa.bbb.ccc/users/123
# 응답: HTTP/1.1 204 No Content
⚠️ 3xx (Redirection) – 리다이렉션
| 코드 | 의미 | 설명 |
| 301 Moved Permanently | 영구 이동 | 리소스가 다른 URI로 옮겨짐 |
| 302 Found | 임시 이동 | 일시적으로 다른 URI로 응답 |
| 304 Not Modified | 변경 없음 | 캐시된 리소스 그대로 사용 가능 (If-Modified-Since 등 사용 시) |
❌ 4xx (Client Error) – 클라이언트 오류
| 코드 | 의미 | 설명 | 예시 |
| 400 Bad Request | 잘못된 요청 | 파라미터 오류, JSON 파싱 실패 등 | |
| 401 Unauthorized | 인증 필요 | 토큰 누락, 유효하지 않음 | |
| 403 Forbidden | 접근 금지 | 권한 없음 (인증은 했지만 거부됨) | |
| 404 Not Found | 존재하지 않음 | 잘못된 URL, 삭제된 리소스 등 | |
| 409 Conflict | 충돌 발생 | 중복 데이터, 버전 충돌 등 | |
| 422 Unprocessable Entity | 처리할 수 없음 | 유효성 검증 실패 시 주로 사용 (예: name 필수인데 누락됨) |
bash
curl -XPOST http://aaa.bbb.ccc/users \
-H "Content-Type: application/json" \
-d '{"age": 30}'
# 응답: HTTP/1.1 422 Unprocessable Entity
💥 5xx (Server Error) – 서버 오류
| 코드 | 의미 | 설명 |
| 500 Internal Server Error | 서버 내부 오류 | 예외 처리 실패, 런타임 에러 등 |
| 502 Bad Gateway | 게이트웨이 오류 | 프록시/게이트웨이 서버가 잘못된 응답 수신 |
| 503 Service Unavailable | 서비스 불가 | 서버 과부하, 점검 중 |
| 504 Gateway Timeout | 게이트웨이 타임아웃 | 백엔드 서버 응답 지연 |
Web Storage
Cookie
- 브라우저와 서버 모두 접근 가능
- 매 요청마다 자동으로 서버에 전송됨
- 만료일 설정 가능
LocalStorage
- 브라우저에서만 접근 가능
- 수동 삭제 전까지 유지
- 서버에는 전송되지 않음
SessionStorage
- 브라우저에서만 접근 가능
- 탭이 닫히면 삭제됨
- 서버에는 전송되지 않음
Leave a Reply