인터넷을 통해서 사람들이 정보를 공유할수 있는 전세계적인 공간(web)
API를 사용하는 웹서비스
URI : 특정한 사이트, 목록
HTTP : 프로토콜의 종료
HTML : 주고 받는 정보(사용자가 알아보기 쉬운 형태로 표현)
== 자원의 상태 전달을 의미(네트워크 아키텍처)
1. Client, Server : 클라이언트와 서버가 서로 독립적으로 분리되어 있어야 한다.
2. Stateless : 요청에 대해서 클라이언트의 상태를 서버에 저장하지 않는다.
3. Cache : 클라이언트는 서버의 응답을 Cache(임시저장)할 수 있어야 한다.
-> 응답을 재사용할 수 있어야하며, 이를 통해서 서버의 부하를 낮춘다.
4. 계층화 : 서버와 클라이언트 사이에, 방화벽, 게이트웨이 proxy등 다양한 계층 형태로 구성이 가능해야 함
5. 인터페이스 일관성 : 일관성을 지키며 단순화 하여 독립적으로 개선 될 수 있어야 한다.
6. Code on Demand : 특정한 기능을 서버로부터 클라이언트가 전달받아 코드를 실행 할 수 있어야 한다.
인터페이스의 일관성이 잘 지켜졌는지에 따라,REST를 잘 사용했는지 판달을 할수 있다.
1. 자원의 식별
웹 기반의 REST에서는 리소스 접근을 할 떄 URI를 사용한다.
2. 메시지를 통한 리소스 조작
다양한 방식으로 데이터를 전달할수 있는데 다양한 방식의 타입을 지정해 줄수 있으며 리소스 조작을 위해서 데이터 전체를 전달하지 않고, 이를 메시지로 전달한다.
3. 자기 서술적 메시지
요청 하는 데이터가 어떻게 처리 되어져야 하는지 충분한 데이터를 포함 할 수 있어야 한다.
4. 애플리케이션 상태에 대한 엔진으로써 하이퍼 미디어
REST API를 개발할 떄 단순히 고객의 요청에 대한 응답만이 아니라 관련된 리소스대한 Link정보까지 같이 호함 되어 있어야 한다.
이러한 조건들을 잘 갖춘것을 REST Full이라고 하고 REST API라고 부른다.
윗 내용은 필수 사항이 아니다.
URI : 인터넷에서 특정 자원을 나타내는 주소값. 해당 값을 유일하지만 응답은 달라질수 있다.
URL : 인터넷 상에서의 자원, 특정 파일이 어디에 위치하는지 식별하는 주소
URL은 URI의 하위 개념
필수적으로 지켜야할 사항들은 아니다
메시지를 주고 받는 형태의 통신 방법
HTTP의 요청을 특정하는 메서드는 8가지가 있다.
후에 필요성이 느껴지게 된다면 다시 수강해보겠다(아직은 무슨 소리인지를 잘 모르겠다)