2025. 9. 14. 14:42ㆍ프로그램/PHP 고급
#RESTful API의 #개념

#REST (Representational State Transfer)는 #웹 서비스를 구축하기 위한 #아키텍처 스타일입니다. #RESTful API는 이러한 REST 아키텍처 스타일의 #원칙을 준수하여 설계된 #API를 말합니다. 간단히 말해, 웹에 있는 #자원 (Resource)을 #HTTP 메서드를 통해 다루는 방식입니다. 여기서 자원은 #사진, #동영상, #텍스트 등 클라이언트가 접근할 수 있는 모든 것을 의미합니다.
#RESTful API의 핵심은 각 자원을 고유한 #URI (Uniform Resource Identifier)로 식별하고, #HTTP 메서드 (GET, POST, PUT, DELETE 등)를 사용하여 해당 자원에 대한 #CRUD (Create, Read, Update, Delete) #작업을 수행하는 것입니다. 예를 들어, 게시물이라는 자원이 있다면 /posts와 같은 URI로 게시물에 접근하고, GET /posts는 모든 게시물을 조회하고, POST /posts는 새 게시물을 생성하는 방식입니다.
#REST의 #6가지 #아키텍처 원칙

#REST는 다음과 같은 6가지 핵심 #아키텍처 원칙을 따릅니다. 이 원칙들은 #RESTful API의 #설계 철학을 이해하는 데 중요합니다.
- #클라이언트-서버 (Client-Server) #클라이언트와 #서버의 #역할을 명확히 분리하여 #독립적으로 진화할 수 있도록 합니다. 클라이언트는 #사용자 인터페이스와 데이터 표현을 담당하고, 서버는 #데이터 저장과 관리를 담당합니다.
- #무상태성 (Stateless) 각 #요청은 그 자체로 독립적이어야 합니다. 서버는 클라이언트의 #이전 요청에 대한 어떤 정보도 유지하지 않습니다. 모든 필요한 정보는 #요청 자체에 포함되어야 합니다. 이는 #서버 확장성 향상에 기여합니다.
- #캐시 가능 (Cacheable) 클라이언트는 #응답을 캐시할 수 있어야 합니다. 서버는 #응답에 캐시 가능 여부를 명시하여 #네트워크 효율성을 높이고 #서버 부하를 줄일 수 있습니다.
- #계층화된 시스템 (Layered System) 클라이언트는 #중간 서버가 존재하는지 모르고 #엔드 서버와 직접 통신하는 것처럼 동작합니다. 이는 #보안, #로드 밸런싱, #캐싱 등을 위한 #중간 계층을 허용하여 #시스템의 확장성과 유연성을 증대시킵니다.
- #코드 온 디맨드 (Code on Demand) (선택 사항) 서버는 #실행 가능한 코드를 클라이언트에게 보내 #클라이언트의 기능을 확장할 수 있습니다. (예: #자바스크립트). 이 원칙은 #선택 사항입니다.
- #인터페이스 일관성 (Uniform Interface) #RESTful API의 가장 중요한 원칙 중 하나입니다. #자원의 식별, #메시지를 통한 자원 조작, #자기 서술적 메시지, #하이퍼미디어 (HATEOAS)의 4가지 하위 원칙으로 구성됩니다. 이 원칙은 #클라이언트와 서버가 독립적으로 진화할 수 있도록 돕습니다.
#인터페이스 일관성의 #하위 원칙

#인터페이스 일관성 원칙은 #RESTful API의 #이해도를 높이고 #상호작용을 단순화하는 핵심입니다.
- #자원의 식별 (Identification of Resources) 모든 자원은 #고유한 URI를 가지며, 이 URI를 통해 자원에 #접근할 수 있어야 합니다.
- #메시지를 통한 자원 조작 (Manipulation of Resources Through Representations) 클라이언트는 #자원의 표현 (Representation)을 받아 #수정하거나 삭제할 수 있습니다. 서버로부터 받은 데이터는 해당 자원을 변경하기 위한 #정보를 포함해야 합니다.
- #자기 서술적 메시지 (Self-descriptive Messages) 각 메시지는 #자신을 설명해야 합니다. 즉, 메시지를 받는 측은 #메시지의 내용을 해석하기 위해 #추가적인 정보가 필요하지 않아야 합니다. #HTTP 헤더와 #메시지 바디가 이러한 역할을 수행합니다.
- #하이퍼미디어 컨트롤스 애즈 엔진 오브 애플리케이션 스테이트 (#HATEOAS - Hypermedia as the Engine of Application State) #API 응답에는 #관련된 다른 자원으로의 #링크가 포함되어야 합니다. 이를 통해 클라이언트는 #API의 문서를 미리 알지 못해도 #동적으로 상호작용할 수 있습니다. 예를 들어, 게시물 조회 시 해당 게시물을 수정하거나 삭제할 수 있는 링크를 함께 제공하는 방식입니다.
PHP 고급 RESTful API 개발 기초 개념 원칙 클라이언트 서버 무상태성 캐시 계층화 코드 온 디맨드 인터페이스 일관성 자원 식별 메시지 자원 조작 자기 서술적 메시지 HATEOAS
무료체험, 끊김없이 빠른VPN VPN, 국내 다량IP, 모바일가능, 본사 품질관리 신뢰할 수 있는 보안성 높은 VPN 서비스
https://xn--299ao67b9qbmsf04c.net/
VPN 5,500원 / IP교체 1,100원 / 유동프록시 22,000원 | LuzenVPN 루젠VPN
국내최저가 고정IP서비스,유동프록시(IP4000개이상제공),PPTP,L2TP,IPSec,OpenVPNVPN,통신사VPN,VPN프로그램,고정IP,고정아이피,PPTP,저렴한VPN,리니지MVPN,리니지VPN,아이온VPN,던파VPN,유동프록시,유동PROXY,바이
vpn.luzensoft.com
'프로그램 > PHP 고급' 카테고리의 다른 글
| 📚 PHP 고급 - 4주차: RESTful API 개발 기초 - 03 JSON 데이터 형식 다루기 (0) | 2025.09.14 |
|---|---|
| 📚 PHP 고급 - 4주차: RESTful API 개발 기초 - 02 API 엔드포인트 설계 (0) | 2025.09.14 |
| 📚 PHP 고급 - 3주차: 인증 및 권한 관리 (프레임워크) - 03 역할 기반 권한 관리 (Role-Based Access Control) (0) | 2025.09.14 |
| 📚 PHP 고급 - 3주차: 인증 및 권한 관리 (프레임워크) - 02 미들웨어(Middleware)를 이용한 접근 제어 (0) | 2025.09.14 |
| 📚 PHP 고급 - 3주차: 인증 및 권한 관리 (프레임워크) - 01 프레임워크의 내장 인증 시스템 활용 (0) | 2025.09.13 |