1.
Uniform-interface
a.
각각의 자원들이 url 자원식별, 표현을 통한 자원 조작, self-descriptive message, hateos 구조를 가짐
b.
GET, DELTE 등으로 작업을 설명
c.
url로 자원 식별
d.
self-descriptive message: 헤더에 타입을 명시하고, 각 메시지들은 MIME types에 맞춰 표현되어야함. json 반환하면 application/json임. 다른 것들도 있음
e.
HATEOS
i.
하이퍼링크에 따라 다른 페이지를 보여줘야하며 데이터마다 어떤 url에서 원했는지 명시해줘야한다.
2.
Stateless
a.
세션을 유지하지 않는다
3.
Cacheable:
a.
새로고침을 하면 304가 뜬다.
b.
GET에 한정 Cache-Control:max-age=100 이런 식으로 한정된 시간을 설정
4.
Client-Server 구조
a.
클라이언트와 서버가 독립적인 구조
5.
Layered System
a.
계층 구조
6.
URI 규칙
a.
put, delete, post, get
b.
.jpg, .png 등 확장자는 표시X
c.
동사가 아닌 명사로만 표기
d.
계층적인 내용을 담음
e.
대문자 아닌 소문자, 언더바가 아닌 그냥 바
7.
쿼리스트링