2024-06-21
This commit is contained in:
@@ -48,5 +48,6 @@
|
||||
</toc-element>
|
||||
<toc-element topic="Seo.md"/>
|
||||
</toc-element>
|
||||
<toc-element topic="RESTful.md"/>
|
||||
</toc-element>
|
||||
</instance-profile>
|
||||
33
Writerside/topics/RESTful.md
Normal file
33
Writerside/topics/RESTful.md
Normal 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 헤더를 사용하는 것이 좋습니다.
|
||||
Reference in New Issue
Block a user