Web Basic · Network API

Fetch 요청과 응답 처리 경로

Fetch API는 AJAX의 현대 문법일 뿐 아니라, Promise 기반으로 요청 생성·응답 해석·오류 분기를 명확히 나누는 네트워크 인터페이스다.

01

요청 구성

엔드포인트, HTTP method, headers, body, credentials 옵션을 요청 목적에 맞춰 고정한다.

02

응답 수신

fetch는 HTTP 404나 500에서도 reject하지 않으므로 status를 확인한다.

03

본문 파싱

Content-Type에 맞춰 json, text, blob 등으로 body를 읽는다.

04

상태 반영

로딩, 성공, validation 오류, 네트워크 오류를 화면에서 구분한다.

GET
데이터 조회 query string과 cache 정책을 함께 고려
body를 보내지 않는 것이 일반적
POST
상태 변경 JSON body와 CSRF·인증 정책 확인
중복 제출 방지
credentials
쿠키 전송 same-origin, include 설정으로 쿠키 포함 여부 결정
CORS와 함께 작동
AbortController
요청 취소 검색어 변경, 화면 이탈 시 이전 요청 중단
race condition 감소

상태 코드 · 타임아웃 · 인증 정보 점검

status response.ok만 믿지 않고 필요한 오류 본문을 읽는다.
timeout 긴 요청을 취소하거나 재시도할 정책이 있다.
credential 쿠키 기반 인증에서 SameSite와 CORS를 함께 본다.
중복 요청 빠른 입력 변화가 오래된 응답으로 화면을 덮지 않는다.

Fetch 오류 분기

const res = await fetch('/api/todos');
if (!res.ok) throw new Error(`HTTP ${res.status
        overflow-wrap: break-word;
        word-break: keep-all;
      }`);
const todos = await res.json();