HTTP API를 설계할 때 컬렉션과 스토어라는 개념이 등장한다. 컬렉션 (Collection)컬렉션의 예시에 대해 살펴보자. ex) /members [POST] (회원 등록 API)위 예시에서 members가 바로 컬렉션이다. 해당 API로 회원 등록 요청 시, 클라이언트는 회원 ID 등 리소스의 URI를 알 수 없다.(요청 이후 응답의 Location 헤더 등으로 알 수 있다.)즉, 컬렉션은 서버가 리소스의 URI를 생성하고 관리하는 방식이다.그렇기에 컬렉션을 "Server-Managed Resource Directory"라고 부른다. 여기서 컬렉션은 /members이다. 스토어 (Store)다음으로는 스토어의 예시에 대해 살펴보자. ex) /files/{file-name} [PUT] (사진 등록 A..
전체 글
HTTP 메서드는 3가지 속성이 있다.1. 안전한 메서드 (Safe Methods)2. 멱등한 메서드 (Idempotent Methods)3. 캐시 가능한 메서드 (Cacheable Methods) 참고로 위키백과에 근사한 표가 있다. 이걸 바탕으로 하나하나 살펴보자. https://ko.wikipedia.org/wiki/HTTP HTTP - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. HTTP(HyperText Transfer Protocol, 문화어: 초본문전송규약, 하이퍼본문전송규약)는 W3 상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에ko.wikipedia.org 1. 안전한 메서드 (Safe Methods)여기서 말하는 "안전하다"란 무..
RFC 문서에서 정의한 HTTP 메시지 구조의 공식 스펙을 확인해 보자.https://datatracker.ietf.org/doc/html/rfc7230#section-3 RFC 7230: Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and RoutingThe Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document provides an overview of HTTP architecture and its associated termino..
HTTP 프토토콜의 특성에 대해 살펴보자. 1. Client - Server Architecture (서버 - 클라이언트 구조) HTTP는 Client - Server Architecture 기반 프로토콜이다.클라이언트는 서버에게 HTTP Request를 전송하며, 서버는 클라이언트에게 요청에 대한 HTTP Response를 전송한다. 2. Stateless (무상태)HTTP는 Stateless 프로토콜이다.이를 이해하기 위해 Stateful과 Stateless의 의미를 비교해 보자. Stateful은 서버가 HTTP 요청을 보낸 클라이언트와 관련된 상태를 기억하는 것을 의미한다.여기서 말하는 상태란, 쉽게 말해 클라이언트에 대한 Context다. 상태를 기억하는 프로토콜의 대표적인 예시로 TCP의 3-..