본문 바로가기
programing/etc

REST

by RedWiz 2018. 1. 23.

참고 : http://tech.devgear.co.kr/delphi_news/433404


- 리소스

> 동사보다 명사를 활용해 어떤 자원인지 표현하는데 집중

> 슬래시(/) : 계층 관계를 나타냄, URL 앞쪽부터 넓은 의미로 사용


ex)

/(컬렉션)/(아이템)/(컬렉션)/(아이템)


- 메소드

HTTP 메소드

 CRUD

 POST

 Create (생성)

 GET

 Read (조회)

 PUT

 Update (수정)

 DELETE

 Delete (삭제)



- 메시지

> HTTP Body

포함된 데이터를 바디를 통해 자원에 대한 정보를 전달

데이터 포멧으로는 JSON을 많이 사용하는 추세

XML과 사용자 정의 포멧 등을 정해서 사용 가능

GET 요청 시 서버는 조건에 맞는 정보를 HTTP 바디에 담아 클라이언트에 응답

POST, PUT 요청 시 클라이언트는 자원에 대한 정보를 요청 HTTP 바디에 담아 서버에 요청


> HTTP Header

HTTP 바디의 컨텐츠 종류를 명시

헤더에 정의된 컨텐츠 타입에 따라 데이터를 분석하도록 구현

요청 HTTP 헤더는 "Accept"항목으로 설명

응답 HTTP 헤더는 "Content-type"으로 컨텐츠 타입을 설명


> 응답 상태 코드


 응답 상태 코드 

 설명

 200

 요청을 정상 수행

 201

 리소스 생성 요청 성공(Post로 생성 요청 시에 한함)

 400

 요청이 부적절함

 401

 인증되지 않은 상태에서 보호된 리소스 요청

 403

 공개되지 않은 리소스에 접근 요청 (인증과 무관)

 404

 존재하지 않는 리소스 요청

 406

 지원하지 않는 미디어 타입을 요청

 409

 리소스 상태에 의해 해당 요청을 수행하지 못함


참고 : https://ko.wikipedia.org/wiki/HTTP_상태_코드

'programing > etc' 카테고리의 다른 글

JSON  (0) 2018.01.23