2024-06-21

This commit is contained in:
2024-06-21 14:35:51 +09:00
parent 8480fa7c8f
commit 297ea8abaf
2 changed files with 34 additions and 0 deletions

View File

@@ -48,5 +48,6 @@
</toc-element> </toc-element>
<toc-element topic="Seo.md"/> <toc-element topic="Seo.md"/>
</toc-element> </toc-element>
<toc-element topic="RESTful.md"/>
</toc-element> </toc-element>
</instance-profile> </instance-profile>

View File

@@ -0,0 +1,33 @@
# REST (Representational State Transfer)
주고 받는 자원(resource)에 이름을 규정하고 URI에 명시해 HTTP메서드(GET, POST, PUT, DELETE)를 통해 해당 자원의 상태를 주고받는 것을 의미합니다. REST 아키텍쳐를 구현하는 웹 서비스를 **RESTful**하다고 표현합니다.
## 특징
- 유니폼 인터페이스
REST 서버는 HTTP 표준 전송 규약을 따르기 떄문에 프로그래밍 언어나 플랫폼에 상관없이 사용할 수 있습니다.
- 무상태성
서버에 상태 정보를 따로 보관하거나 관리하지 않는다는 의미입니다.
- 캐시 가능성
HTTP의 캐싱 기능을 적용할 수 있습니다.
- 레이어 시스템
REST 서버는 네트워크 상의 여러 계층으로 구성될 수 있습니다. 클라이언트는 서버와 연결되는 포인트만 알면 됩니다.
- 클라이언트-서버 아키텍쳐
REST 서버는 API를 제공하고 클라이언트는 사용자 정보를 관리하는 구조로 분리해 설계합니다.
## URI 설계 규칙
- URI의 마지막에는 '/'를포함하지 않습니다.
- 언더바(\_)는 사용하지 않습니다. 대신 하이픈(-)을 사용합니다.
- URI에는 행위(동사)가 아닌 결과(명사)를 포함합니다. 행위는 HTTP 메서드로 표현할 수 있어야 합니다.
- URI는 소문자로 작성해야 합니다.
- 파일의 확장자는 URI에 포함하지 않습니다. 대신 HTTP의 Accept 헤더를 사용하는 것이 좋습니다.