JAVA/SpringBoot

REST API , URI 설계

whyHbr 2024. 4. 9. 21:17
728x90
반응형

REST API : Representational State Transfer 자원의 상태 전달. 네트워크 아키텍쳐 원리

 

REST 의 기준

1. 클라이언트 서버가 서로 독립적으로 분리되어 있어야한다.

한 곳에서 주고 받는 것이 아니라, 클라이언트와 서버가 떨어져 있는 상태에서 서로의 자원을 주고 받는 것

 

2. stateless. 요청에 대해서 클라이언트의 상태가 서버에 저장을 하지 않는다.

 

3. 캐시. 클라이언는 서버의 응답을 캐시 할 수 있어야 한다. 

클라이언트가 캐시를 통해 응답을 재사용 할 수 있어야 함.

 

4. 인터페이스 일관성. 아키텍쳐 단순화. 다계층 구성, 확장. 작은 단위로 분리. 클라이언트 서버가 독립적으로 개선 되어야 한다. 자원 식별, 메세지를 통한 리소스 조작, 자기 서술적 메세지

 

5.Code on Demand. 단순화. 분리. 인터페이스를 만들어두고 내부에서 변경이 될 때는 한 번 변경이 되는 과정을 거쳐 클라이언트에 영향을 주지 않도록 작은 단위로 분리, 클라이언트와 서버가 독립적으로 각자 개선되는 방향으로 가야한다.

 

 

 URL 설계

1. URI Uniform Resource Indentifier 

인터넷에서 특정 자원을 나타내는 주소값, 해당 값은 유일하다.

2. URL Uniform Resource Locator

인터넷 상에서의 자원, 특정 파일이 어디에 위치하는지 식별하는 주소

 

url은 uri의 하위 개념이다

URL에는 파일의 위치까지 들어가야한다. 정확하게 특정 자원을 지칭한다.

URI는 어떤 특정 대상을 지칭하는지 모른다. 대신 주소가 특정 리소스를 지칭하고 있기 때문에 어떠한 값이 내려갈지는 http프로토콜에 따라 정보를 처리하게 되는 형태다.

 

URI 설계 원칙

 

728x90