REST API - 2

nearworld·2022년 7월 19일
0

본 게시글은 정확한 정보를 담고있지 않을 수 있으므로 다른 자료도 참고하시길 바랍니다.
만약, 본 게시글이 잘못된 정보를 가지고 있다면 피드백 부탁드립니다. 감사합니다.

REST API에 대한 이전 포스팅에서 로이 필딩이 2000년에 작성한 논문에서 REST API가 소개되었다는 것을 알았다. 그리고 어느 정도 REST API가 무엇인지에 대해 말할 수 있게 되었다.

웹 애플리케이션을 최적화 시키기위해 마련된 제약 조건들이 있는데 이 제약 조건들을 충족하면 REST API가 되는 것이라고 할 수 있겠다.

제약 조건

그럼 그 충족해야하는 제약 조건들이 무엇일까..
조사한 바로는..

  1. 애플리케이션이 크게 2개의 컴포넌트인 클라이언트 - 서버로 구분되어야하는 것 같다.
  2. 서버로부터 같은 자원을 얻기 위해서 그 자원을 얻기 위한 요청이 어디서 오는지에 대해서는 상관이 없지만 같은 자원을 얻기 위한 요청은 달라서는 안된다. 즉, 요청 A에 대한 응답이 B라면 응답 B는 무조건 요청 A를 통해서만 발생되어야 한다.
  3. 서버는 클라이언트에 응답을 보낼 때 클라이언트 측에서 필요할만한 데이터를 최대한 담아내야한다. 그 이유는 보안을 위해서 서버가 클라이언트에 대한 데이터를 갖고 있으면 안되기 때문인데 클라이언트와 서버는 통신 만으로 애플리케이션 작동이 가능하도록 해야한다.
    난 아무것도 안가지고 있고 네가 필요한 정보를 너에게 다 줬으므로 난 너에 대한 어떠한 위험 요소도 가지고 있지 않으니 넌 안전하다. 라고 말하는 격이라 생각했다.

REST를 좀 더 간결하게 표현해보자면.. 웹 애플리케이션을 최적화 시키기 위해 고안된 제약 조건들을 충족하는 클라이언트 - 서버 통신 방식이라고 할 수 있지 않을까한다.

profile
깃허브: https://github.com/nearworld

0개의 댓글