Rest란?
- Rest란 쿠키나 세션같은 것에 의존하지 않고 자원 지향적으로 정의한 주소를 지정하는 방법 이다.
- 그렇다면 RestFul이란 Rest 아키텍처를 사용하여 정의되고 이용되는 웹 서비스를 말한다.
- Restful Api란 Rest 아키텍처를 사용하여 정의된 API를 말한다.
그렇다면 Restful하게 정의 된다는것은 어떤 의미 인가
웹 서비스의 CRUD는 URL에 동사로 구분되는것이 아니라 명사로 구분 되어야 하며 HttpRequest의 메소드로 구분 될 수 있다.
CREATE는 POST로 구분되고 READ는 GET으로 구분되고 UPDATE는 PUT DELETE는 DELETE로 구분 할 수 있다.
GET과 PUT DELETE는 모두 멱등 메소드이고 POST는 비멱등 메소드이다. 이는 GET PUT DELETE는 계속 요청해도 자원에 대한 변경 없이 계속 요청 가능 하지만 POST는 비멱등이기 때문에 한번 요청하고나면 다음에 요청 할 수가 없다. Insert를 생각해보면 요청이 되었다가 Exception이 발생하면 rollback 되기 때문에 insert된 내용을 어디에 저장하고 있지 않으면 다음 요청에 똑같다는 요청을 보장 받을 수 없다.
RestURL을 설계시 몇가지 주의 사항이 있는데
1. 슬래시로 구분한다.
2. 하이픈으로 명확하게 구분 할 수 있다. 하이픈으로 구분하면 마우스로 더블 클릭시 각 단어가 선택 될 수 있다.
3. 되도록 URI에 대문자를 사용하지 않는다. 대 소문자를 섞어 쓰면 헷갈리기 쉽다.
4. 파일 확장자를 넣지 않는다.
5. 마지막 URI에 슬래시를 넣지않는다.
6. 동사보다는 명사를 사용한다.
7. 2단계를 넘어가지 않도록 한다.
'용어정리' 카테고리의 다른 글
웹서버와 웹 컨테이너 (0) | 2017.11.16 |
---|---|
http https정리 (0) | 2017.11.15 |