From 297ea8abaf14f18cfdea721b8f2d39b423f42654 Mon Sep 17 00:00:00 2001 From: Elex Date: Fri, 21 Jun 2024 14:35:51 +0900 Subject: [PATCH] 2024-06-21 --- Writerside/h.tree | 1 + Writerside/topics/RESTful.md | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 Writerside/topics/RESTful.md diff --git a/Writerside/h.tree b/Writerside/h.tree index bec7b6a..e63c2b1 100644 --- a/Writerside/h.tree +++ b/Writerside/h.tree @@ -48,5 +48,6 @@ + \ No newline at end of file diff --git a/Writerside/topics/RESTful.md b/Writerside/topics/RESTful.md new file mode 100644 index 0000000..7ac8398 --- /dev/null +++ b/Writerside/topics/RESTful.md @@ -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 헤더를 사용하는 것이 좋습니다. \ No newline at end of file