REST, HTTP 메서드

bkboy·2022년 7월 14일
0

웹 개발

목록 보기
10/26
post-thumbnail

REST

HTTP 메서드에 대해 알기 위해 먼저 정의되는 것이 REST.
REST(Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미한다. (약속)

즉 REST란
HTTP URI를 통해 자원을 명시하고, HTTP 메서드를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다.

❓ URI & URL

URI : 특정 리소스를 식벽하는 통합 자원 식별자(Uniform Resource Identifier)를 의미한다. 웹 기술에서 사용하는 논리적 또는 물리적 리소스를 식별하는 고유한 문자열 시퀀스이다.

URL : 흔히 웹 주소라고도 하며, 컴퓨터 네트워크 상에서 리소스가 어디 있는지 알려주기 위한 규약이다.

❓ CRUD Operation

컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성) Read(읽기) Update(갱신) Delete(삭제)를 일컫는 개념이다. REST에서 CRUD 동작의 예시는 다음과 같다.

Create : 데이터 생성(POST)
Read : 데이터 조회(GET)
Update : 데이터 수정(PUT)
Delete : 데이터 삭제(DELETE)

REST 구성 요소

  1. 자원 : HTTP URI
  2. 자원에 대한 행위 : HTTP 메서드
  3. 자원에 대한 행위의 내용 : HTTP 메세지

REST API

REST API는 REST의 원리를 따르는 API를 의미한다. 몇가지 규칙이 존재한다.

  1. URI는 동사보다는 명사를, 대문자보다는 소문자를 사용하여야 한다.
  2. 마지막에 슬래시 (/)를 포함하지 않는다.
  3. 언더바 대신 하이폰을 사용한다.
  4. 파일확장자는 URI에 포함하지 않는다.
  5. 행위를 포함하지 않는다.

HTTP

http란 HyperText Transfer Protocol, 문서 간의 링크를 전송하는 프로토콜이다. HTML뿐만 아니라 텍스트나 이미지, 음성, 영성, JSON 등 거의 모든 형태의 데이터가 전송이 가능하다.

HTTP 메서드

대표적으로 GET, POST, PUT, DELETE가 있으며 위에 나와있듯 CRUD에 이용할 수 있다.

HTTP 메서드 종류

GET : 서버로부터 데이터를 얻어온다.
POST : 서버에 데이터를 추가한다.
PUT : 서버의 데이터를 갱신한다. 기존 리소스를 삭제하고 덮어씌운다.
DELETE : 서버의 데이터를 삭제한다.
HEAD : 서버 리소스의 헤더(메타 데이터)를 얻어온다.
OPTIONS : 리소스가 지원하고 있는 메서드를 얻어온다.
PATCH : 리소스의 일부분을 수정한다.
CONNECT : 프록시 동적의 터널 접속을 변경한다.

멱등성

동일한 요청을 여러 번 보내도 한 번 보내는 것과 같은 것 외부 요인으로 중간에 리소스가 변경되는 것을 고려하지 않고 해당 요청을 기준으로 고려한다. 올바르게 구현한 GET, PUT, DELETE 메소드는 멱등성을 지녀야 한다.

참고

profile
음악하는 개발자

0개의 댓글