본 게시글은 정확한 정보를 담고있지 않을 수 있으므로 다른 자료도 참고하시길 바랍니다.
만약, 본 게시글이 잘못된 정보를 가지고 있다면 피드백 부탁드립니다. 감사합니다.
Representational State Transfer
2000년도 로이 필딩의 박사 학위 논문을 통해 소개
https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
REST가 뭐냐고 하면 대답할 말이 각 역할에 맞는 HTTP Method들을 이용해 네트워크 통신을 하는 것..? 정도로만 생각났는데 이번에 이 글을 정리하면서 REST API에 대한 지식을 더 구체화하고자 한다.
그리고 웹개발자 채용 공고에 보면 REST API에 대한 이해가 심심찮게 등장한다..
잊어먹을때마다 찾아보기 위해 기록하기로 했고 논문을 요약 정리한 블로그를 발견해서 그 출처를 이용해 작성하기로 했다.
https://blog.npcode.com/2017/03/02/%EB%B0%94%EC%81%9C-%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%93%A4%EC%9D%84-%EC%9C%84%ED%95%9C-rest-%EB%85%BC%EB%AC%B8-%EC%9A%94%EC%95%BD/
그럼 REST API에서 REST를 뭐라고 할 수 있을까..?
REST는 네트워크를 이용한 애플리케이션의 아키텍처 스타일이라고 이해했다.
그럼 아키텍처 스타일은 무엇이고..?
아키텍처가 지켜야하는 제약 조건들의 집합
아키텍처는 무엇일까?
시스템의 최적화를 목표로 시스템 구성요소, 작동 원리를 기술해놓은 설계도
이 모든 설명을 종합해볼 때,
REST API는 로이 필딩의 논문에서 소개된 웹 서비스의 네트워크 통신을 최적화 시키기 위한 제약 조건을 따르는 API
이라고 볼 수 있을 듯 하다.
그럼 그 최적화시키기 위한 제약 조건이 뭔 줄 알아야 할 건데... 다른 자료들을 통해서 본 결과로는 클라이언트 - 서버 간에 통신을 할 때 상황에 따른 적절한 HTTP method
들을 사용하는 것 정도로 이해했다.