HTTP (3) | Network

November 2, 2023

HTTPNetwork

이 글은 모든 개발자를 위한 HTTP 웹 기본 지식 강의를 듣고 정리한 내용입니다.

HTTP 메서드 활용

클라이언트에서 서버로 데이터를 전송할 때 크게 2가지 방식이 있다.

클라이언트에서 서버로 데이터를 전송하는 예시 4가지를 들어보자

  1. 정적 데이터 조회
  1. 동적 데이터 조회
  1. HTML Form 데이터 전송
  1. HTTP API 데이터 전송

HTTP API 설계 예시

회원 관리 시스템

POST - 신규 자원 등록 특징

파일 관리 시스템

PUT - 신규 자원 등록 특징

대부분 실무에서는 PUT기반의 Store보다 POST 기반의 컬렉션을 자주 사용한다.

HTML FORM 사용

정리

https://restfulapi.net/resource-naming


HTTP 상태 코드

상태 코드

클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능

2xx - Successful

클라이언트의 요청을 성공적으로 처리

3xx - Redirection

요청을 완료하기 위해 유저 에이전트(클라이언트 프로그램, 즉 웹브라우저)의 추가 조치 필요

리다이렉션

웹브라우저는 3xx 응답의 결과에 Location 헤더가 있으면, Location 위치로 자동이동(리다이렉트)
옛날 페이지를 처음에 요청했지만, 자동 리다이렉트 되어 사용자 입장에서 바로 새로운 페이지가 나타나게된다.

리다이렉션의 종류

영구 리다이렉션 - 특정 리소스의 URI가 영구적으로 이동

일시 리다이렉션 - 일시적인 변경

특수 리다이렉션

영구 리다이렉션 - 301, 308

일시적 리다이렉션 - 302, 307, 303

PRG: POST/REDIRECT/GET - 일시적인 리다이렉션의 예시

그래서 무엇을 써야할까? - 302, 307, 303

기타 리다이렉션 - 300, 304

4xx - 클라이언트 오류

4xx - 클라이언트 오류

400 Bad Request

401 Unauthorized

403 Forbidden

404 Not Found

5xx - 서버 오류

5xx (Server Error) - 서버 오류

500 Internal Server Error

503 Service Unavailable

⬅ 이전 포스트
바닐라 JS로 SPA 만들기 - 라우터
다음 포스트 ➡️
String, Date | MySQL