API 문서 작성: HTTP Status와 JSON 파라미터
1. HTTP Status 코드 설명
HTTP 상태 코드는 클라이언트와 서버 간의 요청 및 응답 상태를 나타낸다.
성공 코드
- 200 OK
- 요청이 성공적으로 처리됨.
- 주로 GET, PUT, PATCH, DELETE 요청에 사용.
- 201 Created
- 요청이 성공적으로 처리되었고, 새로운 리소스가 생성됨.
- 주로 POST 요청에 사용.
- 204 No Content
- 요청이 성공적으로 처리되었으나, 응답 본문(body)이 없음.
- DELETE 요청 후 주로 사용.
실패 코드
- 400 Bad Request
- 클라이언트 요청이 잘못되어 서버가 이해하지 못함.
- 예: 잘못된 파라미터 전달.
- 401 Unauthorized
- 인증이 필요하거나, 인증에 실패했을 때 발생.
- 예: 유효하지 않은 토큰.
- 403 Forbidden
- 요청 권한이 없음.
- 인증은 되었으나, 특정 리소스에 대한 권한이 부족할 때.
- 404 Not Found
- 요청한 리소스가 서버에 존재하지 않을 때.
- 500 Internal Server Error
- 서버에서 처리 중에 오류가 발생.
예시
POST /users (회원 생성 API)
- 설명: 새로운 사용자를 생성.
- 성공 응답:
- HTTP Status: 201 Created
- JSON 응답:
{ "id": 123, "username": "john_doe", "email": "john@example.com" }
- 실패 응답:
- HTTP Status: 400 Bad Request
- JSON 응답:
{ "error": "Invalid input data", "details": { "username": "Username is required", "email": "Invalid email format" } }
DELETE /users/{id} (회원 삭제 API)
- 설명: 특정 사용자를 삭제.
- 성공 응답:
- HTTP Status: 204 No Content
- 실패 응답:
- HTTP Status: 404 Not Found
- JSON 응답:
{ "error": "User not found", "userId": 123 }
리액트: Virtual DOM
Virtual DOM이란?
Virtual DOM은 실제 DOM의 경량화된 사본으로, DOM 변경 사항을 메모리에서 계산하여 실제 DOM 조작을 최소화하는 기술이다.
작동 원리
- 리액트 컴포넌트 렌더링:
- 상태나 속성(props)이 변경되면 Virtual DOM이 업데이트.
- Diffing 알고리즘:
- 변경 전후의 Virtual DOM을 비교(diffing)하여, 변경된 부분만 계산.
- 패치(Patching):
- 변경된 부분만 실제 DOM에 반영.
Virtual DOM의 장점
- 성능 최적화:
- 전체 DOM을 조작하지 않고, 변경된 부분만 반영하여 효율적.
- 간결한 코드:
- 개발자는 DOM 업데이트를 신경 쓰지 않아도 됨.
- 크로스 브라우저 지원:
- 브라우저 간 DOM 차이를 추상화.
import React, { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
return (
<div>
<p>현재 카운트: {count}</p>
<button onClick={() => setCount(count + 1)}>증가</button>
</div>
);
}
export default Counter;
- Virtual DOM 작동 과정:
- setCount 호출 → 상태 업데이트.
- Virtual DOM에서 업데이트된 컴포넌트 렌더링.
- 변경된 부분만 실제 DOM에 반영.
'Network' 카테고리의 다른 글
| SSR vs CSR (0) | 2024.08.02 |
|---|---|
| CORS란 (0) | 2024.07.09 |
| Open API와 API Key (0) | 2024.05.31 |
| HTTP (0) | 2024.05.31 |
| 심화 SPA (0) | 2024.05.31 |