REST (Representational State Transfer)
웹에서 사용되는 데이터나 자원을 HTTP URI로 표현하고 HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식
ex) 마치 식당에서 메뉴판을 제공하듯, 서버는 클라이언트가 리소스를 잘 활용할 수 있도록 인터페이스를 제공해줘야하는데 그것을 API라고 함
브라우저 검색창을 클릭하면 나타나는 주소, URI > URL
URI: 식별자
URL: 식별자 + 위치
ex) naver.com => URI, 리소스의 이름만 나타냄
ex) https://naver.com => URL, 이름과 더불어 프로토콜(https)와 함께 도달하는 위치까지 나타냄
클라이언트와 서버가 HTTP로 통신하는 과정에서 HTTP가 클라이언트나 서버의 상태를 확인하지 않음.
ex) 사용자가 쇼핑몰에 로그인하거나, 상품을 클릭해서 상세화면으로 이동하고, 카트에 상품을 넣고 로그인 하는 등의 행위를 HTTP통신이 추적하지는 않음
쇼핑몰에서는 이런 상테를 저장해둬야할 필요가 있지만 HTTP는 통신 규약일 뿐 상태를 저장하지 않음으로 다른 방법(쿠키-세션, API)등을 통해 확인해야함
URI(Uniform Resource Identifier)는 자원을 고유하게 식별하는 주소를 의미한다. RESTful API에서는 각 자원이 URI를 통해 고유하게 식별되며, 클라이언트는 URI를 사용하여 서버에 요청을 보내고 해당 자원에 접근한다.
예를 들어, 다음과 같은 URI를 가진 RESTful API가 있다고 가정하자
GET /users/123
위의 URI는 "/users" 컬렉션에서 ID가 123인 사용자를 조회하는 요청을 나타낸다. 이러한 URI를 통해 클라이언트가 원하는 특정 사용자를 식별하고 접근할 수 있다.
Stateless는 RESTful API의 또 다른 중요한 원칙으로, 서버가 클라이언트의 상태를 관리하지 않는 것을 의미한다. 각각의 요청은 독립적이며, 이전 요청들과는 상관없이 서버는 클라이언트의 상태 정보를 유지하지 않는다.
Stateless API의 특징
좋은 글 감사합니다.