20
AtomPub

Atom publishing protocol

  • Upload
    rooya85

  • View
    115

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Atom publishing protocol

AtomPub

Atom 데이터 포멧의 규칙(피드 엔트리)

AtomPub Atom을 이용한 리소스 편집 프로토콜의 규정

Atom의 CRUD를 위한 프로토콜

REST 분산 네트워크 시스템의 아키텍쳐 스타일

설계 실력차에 따른 기능제공 여부

REST의 이해도가 높아야 함

AtomPub 프로토콜 스펙

REST 스타일에 기초

Resource Model 및 Link 기능을 제공

설계의 부분이 줄어듬

Framework 및 Library 제공

컬렉션의

메타데이터

BLOGhttpexample

comfeed

Read GET

Update PUT

Create POST

Delete DELETE

Request GET feed HTTP11

Hostblogexamplecom

Response HTTP11 200 OK

Content-Typeapplicationatom+xml type=feed

ltfeed xmlns=httpwwww3org2005Atomgt

ltidgthelliphellipltidgt

helliphellip

ltfeedgt

엔트리 단위에서의 조작

Feed의 Entry는 고유의 URI를 가짐

각각의 URI는 HTTP를 통해 CRUD가 가능함

Link URI의 rel=ldquoeditrdquo 가 포함된 요소를 [Edit Link]

Edit Link = httpblogexamplecomentry1234atom

Request GET entry1234com HTTP11 Hostblogexamplecom

Response HTTP11 200 OK Content-Typeapplicationatom+xml type=entry

ltentry xmlns=httpwwww3org2005Atomgt hellip ltentrygt

Resource의

종류에 따라

바뀐다

GET 하여 취득한 정보를 수정하여 PUT 한다 Request

PUT entry1234atom HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt hellip ltupdatedgt2010-08-24T131154Zltupdatedgt ltcontentgt수정했어요ltcontentgt ltentrygt

Response HTTP11 200 OK

엔트리를 삭제할 수 있다

Request DELETE entry1234atom HTTP11

Host blogexamplecom

Authorization Basic dXNIcjpwYXNz

Request HTTP11 200 OK

컬렉션 리소스에 작성한다 Request

POST feed HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgt고유한 중복되지 않는 IDltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T161154Zltupdatedgt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

작성된 결과를 Return 한다 Response

HTTP11 201 Created Location httpblogexamplecomentry1235atom Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgttagblogexamplecom2010-08-24entry1235ltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T131155Zltupdatedgt ltlink href=httpblogexamplecomentry1235

rel=ldquoalternaterdquogt ltlink href=httpblogexamplecomentry1235 atom

rel=ldquoeditrdquogt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

Request POST media HTTP11 Host blogexamplecom Content-Type imagejpeg Authorization Basic dXNIcjpwYXNz Slug Good_To_See_U

Response HTTP11 201 Created Content-Type applicationatom+xml Location httpblogexamplecommediaGood_To_See_U

ltentryhellipgt ltidgttagblogexamplecom2010-10-04blogmediaGood_To_See_Ultidgt lttitlegtGood_To_See_Ulttitlegt ltauthorgtltnamegttestltnamegtltauthorgt ltcontent type=ldquoimagejpegrdquo src=httpmediaGood_To_See_Ujpggt ltlink rel=ldquoedit-mediardquo href=httpmediaGood_To_See_Ujpggt media edit ltlink rel=ldquoeditrdquo href=httpmediaGood_To_See_Uatomgt entry edit ltentrygt

Request PUT mediaGood_To_See_Ujpg HTTP11

Host blogexamplecom

Content-Type imagejpeg

Authorization Basic dXNIcjpwYXNz

Response HTTP11 200 OK

Delete 및 GET 동일함

여러 컬렉션 리소스의 메타 정보를 저장 및 기술한 문서

컬렉션 리소스

유저 정보 미디어 정보

Feed

Entry 등

Request GET atomsvc HTTP11 Host blogexamplecom

Response HTTP11 200 OK Content-Type applicationatomsvc+xml

ltservice hellipgt

ltworkspacegt

ltatomtitlegt마이 블로그ltatomtitlegt

ltcollection href=ldquohttpblogexamplecomfeedrdquogt

ltcategories fixed=ldquonordquogt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategoriesgt

ltacceptgtapplicationatom+xml type=entryltacceptgt

ltcollectiongt

ltcollection href=ldquohttpblogexamplecommediardquogt

ltatomtitlegt이미지ltatomtitlegt

ltacceptgtimagepngltacceptgt

ltacceptgtimagejpegltacceptgt

ltacceptgtimagegifltacceptgt

ltcollectiongt

ltworkspacegt

ltservicegt

서비스 문서

332 Page 응답 참고

반드시 하나이상

존재 함

Workspace는 0개 이상의

Collection을 가짐

334 PageltCollectiongt요소 참고

Media 컬렉션에서

받을 수 있는

Media Type들

생략 시 기본

accept

Feed 컬렉션에서

사용 가능한 CategoryFixed가 yes 일 때

그 외의 카테고리는 사용

불가능하다

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 2: Atom publishing protocol

Atom 데이터 포멧의 규칙(피드 엔트리)

AtomPub Atom을 이용한 리소스 편집 프로토콜의 규정

Atom의 CRUD를 위한 프로토콜

REST 분산 네트워크 시스템의 아키텍쳐 스타일

설계 실력차에 따른 기능제공 여부

REST의 이해도가 높아야 함

AtomPub 프로토콜 스펙

REST 스타일에 기초

Resource Model 및 Link 기능을 제공

설계의 부분이 줄어듬

Framework 및 Library 제공

컬렉션의

메타데이터

BLOGhttpexample

comfeed

Read GET

Update PUT

Create POST

Delete DELETE

Request GET feed HTTP11

Hostblogexamplecom

Response HTTP11 200 OK

Content-Typeapplicationatom+xml type=feed

ltfeed xmlns=httpwwww3org2005Atomgt

ltidgthelliphellipltidgt

helliphellip

ltfeedgt

엔트리 단위에서의 조작

Feed의 Entry는 고유의 URI를 가짐

각각의 URI는 HTTP를 통해 CRUD가 가능함

Link URI의 rel=ldquoeditrdquo 가 포함된 요소를 [Edit Link]

Edit Link = httpblogexamplecomentry1234atom

Request GET entry1234com HTTP11 Hostblogexamplecom

Response HTTP11 200 OK Content-Typeapplicationatom+xml type=entry

ltentry xmlns=httpwwww3org2005Atomgt hellip ltentrygt

Resource의

종류에 따라

바뀐다

GET 하여 취득한 정보를 수정하여 PUT 한다 Request

PUT entry1234atom HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt hellip ltupdatedgt2010-08-24T131154Zltupdatedgt ltcontentgt수정했어요ltcontentgt ltentrygt

Response HTTP11 200 OK

엔트리를 삭제할 수 있다

Request DELETE entry1234atom HTTP11

Host blogexamplecom

Authorization Basic dXNIcjpwYXNz

Request HTTP11 200 OK

컬렉션 리소스에 작성한다 Request

POST feed HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgt고유한 중복되지 않는 IDltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T161154Zltupdatedgt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

작성된 결과를 Return 한다 Response

HTTP11 201 Created Location httpblogexamplecomentry1235atom Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgttagblogexamplecom2010-08-24entry1235ltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T131155Zltupdatedgt ltlink href=httpblogexamplecomentry1235

rel=ldquoalternaterdquogt ltlink href=httpblogexamplecomentry1235 atom

rel=ldquoeditrdquogt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

Request POST media HTTP11 Host blogexamplecom Content-Type imagejpeg Authorization Basic dXNIcjpwYXNz Slug Good_To_See_U

Response HTTP11 201 Created Content-Type applicationatom+xml Location httpblogexamplecommediaGood_To_See_U

ltentryhellipgt ltidgttagblogexamplecom2010-10-04blogmediaGood_To_See_Ultidgt lttitlegtGood_To_See_Ulttitlegt ltauthorgtltnamegttestltnamegtltauthorgt ltcontent type=ldquoimagejpegrdquo src=httpmediaGood_To_See_Ujpggt ltlink rel=ldquoedit-mediardquo href=httpmediaGood_To_See_Ujpggt media edit ltlink rel=ldquoeditrdquo href=httpmediaGood_To_See_Uatomgt entry edit ltentrygt

Request PUT mediaGood_To_See_Ujpg HTTP11

Host blogexamplecom

Content-Type imagejpeg

Authorization Basic dXNIcjpwYXNz

Response HTTP11 200 OK

Delete 및 GET 동일함

여러 컬렉션 리소스의 메타 정보를 저장 및 기술한 문서

컬렉션 리소스

유저 정보 미디어 정보

Feed

Entry 등

Request GET atomsvc HTTP11 Host blogexamplecom

Response HTTP11 200 OK Content-Type applicationatomsvc+xml

ltservice hellipgt

ltworkspacegt

ltatomtitlegt마이 블로그ltatomtitlegt

ltcollection href=ldquohttpblogexamplecomfeedrdquogt

ltcategories fixed=ldquonordquogt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategoriesgt

ltacceptgtapplicationatom+xml type=entryltacceptgt

ltcollectiongt

ltcollection href=ldquohttpblogexamplecommediardquogt

ltatomtitlegt이미지ltatomtitlegt

ltacceptgtimagepngltacceptgt

ltacceptgtimagejpegltacceptgt

ltacceptgtimagegifltacceptgt

ltcollectiongt

ltworkspacegt

ltservicegt

서비스 문서

332 Page 응답 참고

반드시 하나이상

존재 함

Workspace는 0개 이상의

Collection을 가짐

334 PageltCollectiongt요소 참고

Media 컬렉션에서

받을 수 있는

Media Type들

생략 시 기본

accept

Feed 컬렉션에서

사용 가능한 CategoryFixed가 yes 일 때

그 외의 카테고리는 사용

불가능하다

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 3: Atom publishing protocol

REST 분산 네트워크 시스템의 아키텍쳐 스타일

설계 실력차에 따른 기능제공 여부

REST의 이해도가 높아야 함

AtomPub 프로토콜 스펙

REST 스타일에 기초

Resource Model 및 Link 기능을 제공

설계의 부분이 줄어듬

Framework 및 Library 제공

컬렉션의

메타데이터

BLOGhttpexample

comfeed

Read GET

Update PUT

Create POST

Delete DELETE

Request GET feed HTTP11

Hostblogexamplecom

Response HTTP11 200 OK

Content-Typeapplicationatom+xml type=feed

ltfeed xmlns=httpwwww3org2005Atomgt

ltidgthelliphellipltidgt

helliphellip

ltfeedgt

엔트리 단위에서의 조작

Feed의 Entry는 고유의 URI를 가짐

각각의 URI는 HTTP를 통해 CRUD가 가능함

Link URI의 rel=ldquoeditrdquo 가 포함된 요소를 [Edit Link]

Edit Link = httpblogexamplecomentry1234atom

Request GET entry1234com HTTP11 Hostblogexamplecom

Response HTTP11 200 OK Content-Typeapplicationatom+xml type=entry

ltentry xmlns=httpwwww3org2005Atomgt hellip ltentrygt

Resource의

종류에 따라

바뀐다

GET 하여 취득한 정보를 수정하여 PUT 한다 Request

PUT entry1234atom HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt hellip ltupdatedgt2010-08-24T131154Zltupdatedgt ltcontentgt수정했어요ltcontentgt ltentrygt

Response HTTP11 200 OK

엔트리를 삭제할 수 있다

Request DELETE entry1234atom HTTP11

Host blogexamplecom

Authorization Basic dXNIcjpwYXNz

Request HTTP11 200 OK

컬렉션 리소스에 작성한다 Request

POST feed HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgt고유한 중복되지 않는 IDltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T161154Zltupdatedgt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

작성된 결과를 Return 한다 Response

HTTP11 201 Created Location httpblogexamplecomentry1235atom Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgttagblogexamplecom2010-08-24entry1235ltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T131155Zltupdatedgt ltlink href=httpblogexamplecomentry1235

rel=ldquoalternaterdquogt ltlink href=httpblogexamplecomentry1235 atom

rel=ldquoeditrdquogt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

Request POST media HTTP11 Host blogexamplecom Content-Type imagejpeg Authorization Basic dXNIcjpwYXNz Slug Good_To_See_U

Response HTTP11 201 Created Content-Type applicationatom+xml Location httpblogexamplecommediaGood_To_See_U

ltentryhellipgt ltidgttagblogexamplecom2010-10-04blogmediaGood_To_See_Ultidgt lttitlegtGood_To_See_Ulttitlegt ltauthorgtltnamegttestltnamegtltauthorgt ltcontent type=ldquoimagejpegrdquo src=httpmediaGood_To_See_Ujpggt ltlink rel=ldquoedit-mediardquo href=httpmediaGood_To_See_Ujpggt media edit ltlink rel=ldquoeditrdquo href=httpmediaGood_To_See_Uatomgt entry edit ltentrygt

Request PUT mediaGood_To_See_Ujpg HTTP11

Host blogexamplecom

Content-Type imagejpeg

Authorization Basic dXNIcjpwYXNz

Response HTTP11 200 OK

Delete 및 GET 동일함

여러 컬렉션 리소스의 메타 정보를 저장 및 기술한 문서

컬렉션 리소스

유저 정보 미디어 정보

Feed

Entry 등

Request GET atomsvc HTTP11 Host blogexamplecom

Response HTTP11 200 OK Content-Type applicationatomsvc+xml

ltservice hellipgt

ltworkspacegt

ltatomtitlegt마이 블로그ltatomtitlegt

ltcollection href=ldquohttpblogexamplecomfeedrdquogt

ltcategories fixed=ldquonordquogt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategoriesgt

ltacceptgtapplicationatom+xml type=entryltacceptgt

ltcollectiongt

ltcollection href=ldquohttpblogexamplecommediardquogt

ltatomtitlegt이미지ltatomtitlegt

ltacceptgtimagepngltacceptgt

ltacceptgtimagejpegltacceptgt

ltacceptgtimagegifltacceptgt

ltcollectiongt

ltworkspacegt

ltservicegt

서비스 문서

332 Page 응답 참고

반드시 하나이상

존재 함

Workspace는 0개 이상의

Collection을 가짐

334 PageltCollectiongt요소 참고

Media 컬렉션에서

받을 수 있는

Media Type들

생략 시 기본

accept

Feed 컬렉션에서

사용 가능한 CategoryFixed가 yes 일 때

그 외의 카테고리는 사용

불가능하다

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 4: Atom publishing protocol

컬렉션의

메타데이터

BLOGhttpexample

comfeed

Read GET

Update PUT

Create POST

Delete DELETE

Request GET feed HTTP11

Hostblogexamplecom

Response HTTP11 200 OK

Content-Typeapplicationatom+xml type=feed

ltfeed xmlns=httpwwww3org2005Atomgt

ltidgthelliphellipltidgt

helliphellip

ltfeedgt

엔트리 단위에서의 조작

Feed의 Entry는 고유의 URI를 가짐

각각의 URI는 HTTP를 통해 CRUD가 가능함

Link URI의 rel=ldquoeditrdquo 가 포함된 요소를 [Edit Link]

Edit Link = httpblogexamplecomentry1234atom

Request GET entry1234com HTTP11 Hostblogexamplecom

Response HTTP11 200 OK Content-Typeapplicationatom+xml type=entry

ltentry xmlns=httpwwww3org2005Atomgt hellip ltentrygt

Resource의

종류에 따라

바뀐다

GET 하여 취득한 정보를 수정하여 PUT 한다 Request

PUT entry1234atom HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt hellip ltupdatedgt2010-08-24T131154Zltupdatedgt ltcontentgt수정했어요ltcontentgt ltentrygt

Response HTTP11 200 OK

엔트리를 삭제할 수 있다

Request DELETE entry1234atom HTTP11

Host blogexamplecom

Authorization Basic dXNIcjpwYXNz

Request HTTP11 200 OK

컬렉션 리소스에 작성한다 Request

POST feed HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgt고유한 중복되지 않는 IDltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T161154Zltupdatedgt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

작성된 결과를 Return 한다 Response

HTTP11 201 Created Location httpblogexamplecomentry1235atom Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgttagblogexamplecom2010-08-24entry1235ltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T131155Zltupdatedgt ltlink href=httpblogexamplecomentry1235

rel=ldquoalternaterdquogt ltlink href=httpblogexamplecomentry1235 atom

rel=ldquoeditrdquogt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

Request POST media HTTP11 Host blogexamplecom Content-Type imagejpeg Authorization Basic dXNIcjpwYXNz Slug Good_To_See_U

Response HTTP11 201 Created Content-Type applicationatom+xml Location httpblogexamplecommediaGood_To_See_U

ltentryhellipgt ltidgttagblogexamplecom2010-10-04blogmediaGood_To_See_Ultidgt lttitlegtGood_To_See_Ulttitlegt ltauthorgtltnamegttestltnamegtltauthorgt ltcontent type=ldquoimagejpegrdquo src=httpmediaGood_To_See_Ujpggt ltlink rel=ldquoedit-mediardquo href=httpmediaGood_To_See_Ujpggt media edit ltlink rel=ldquoeditrdquo href=httpmediaGood_To_See_Uatomgt entry edit ltentrygt

Request PUT mediaGood_To_See_Ujpg HTTP11

Host blogexamplecom

Content-Type imagejpeg

Authorization Basic dXNIcjpwYXNz

Response HTTP11 200 OK

Delete 및 GET 동일함

여러 컬렉션 리소스의 메타 정보를 저장 및 기술한 문서

컬렉션 리소스

유저 정보 미디어 정보

Feed

Entry 등

Request GET atomsvc HTTP11 Host blogexamplecom

Response HTTP11 200 OK Content-Type applicationatomsvc+xml

ltservice hellipgt

ltworkspacegt

ltatomtitlegt마이 블로그ltatomtitlegt

ltcollection href=ldquohttpblogexamplecomfeedrdquogt

ltcategories fixed=ldquonordquogt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategoriesgt

ltacceptgtapplicationatom+xml type=entryltacceptgt

ltcollectiongt

ltcollection href=ldquohttpblogexamplecommediardquogt

ltatomtitlegt이미지ltatomtitlegt

ltacceptgtimagepngltacceptgt

ltacceptgtimagejpegltacceptgt

ltacceptgtimagegifltacceptgt

ltcollectiongt

ltworkspacegt

ltservicegt

서비스 문서

332 Page 응답 참고

반드시 하나이상

존재 함

Workspace는 0개 이상의

Collection을 가짐

334 PageltCollectiongt요소 참고

Media 컬렉션에서

받을 수 있는

Media Type들

생략 시 기본

accept

Feed 컬렉션에서

사용 가능한 CategoryFixed가 yes 일 때

그 외의 카테고리는 사용

불가능하다

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 5: Atom publishing protocol

BLOGhttpexample

comfeed

Read GET

Update PUT

Create POST

Delete DELETE

Request GET feed HTTP11

Hostblogexamplecom

Response HTTP11 200 OK

Content-Typeapplicationatom+xml type=feed

ltfeed xmlns=httpwwww3org2005Atomgt

ltidgthelliphellipltidgt

helliphellip

ltfeedgt

엔트리 단위에서의 조작

Feed의 Entry는 고유의 URI를 가짐

각각의 URI는 HTTP를 통해 CRUD가 가능함

Link URI의 rel=ldquoeditrdquo 가 포함된 요소를 [Edit Link]

Edit Link = httpblogexamplecomentry1234atom

Request GET entry1234com HTTP11 Hostblogexamplecom

Response HTTP11 200 OK Content-Typeapplicationatom+xml type=entry

ltentry xmlns=httpwwww3org2005Atomgt hellip ltentrygt

Resource의

종류에 따라

바뀐다

GET 하여 취득한 정보를 수정하여 PUT 한다 Request

PUT entry1234atom HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt hellip ltupdatedgt2010-08-24T131154Zltupdatedgt ltcontentgt수정했어요ltcontentgt ltentrygt

Response HTTP11 200 OK

엔트리를 삭제할 수 있다

Request DELETE entry1234atom HTTP11

Host blogexamplecom

Authorization Basic dXNIcjpwYXNz

Request HTTP11 200 OK

컬렉션 리소스에 작성한다 Request

POST feed HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgt고유한 중복되지 않는 IDltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T161154Zltupdatedgt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

작성된 결과를 Return 한다 Response

HTTP11 201 Created Location httpblogexamplecomentry1235atom Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgttagblogexamplecom2010-08-24entry1235ltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T131155Zltupdatedgt ltlink href=httpblogexamplecomentry1235

rel=ldquoalternaterdquogt ltlink href=httpblogexamplecomentry1235 atom

rel=ldquoeditrdquogt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

Request POST media HTTP11 Host blogexamplecom Content-Type imagejpeg Authorization Basic dXNIcjpwYXNz Slug Good_To_See_U

Response HTTP11 201 Created Content-Type applicationatom+xml Location httpblogexamplecommediaGood_To_See_U

ltentryhellipgt ltidgttagblogexamplecom2010-10-04blogmediaGood_To_See_Ultidgt lttitlegtGood_To_See_Ulttitlegt ltauthorgtltnamegttestltnamegtltauthorgt ltcontent type=ldquoimagejpegrdquo src=httpmediaGood_To_See_Ujpggt ltlink rel=ldquoedit-mediardquo href=httpmediaGood_To_See_Ujpggt media edit ltlink rel=ldquoeditrdquo href=httpmediaGood_To_See_Uatomgt entry edit ltentrygt

Request PUT mediaGood_To_See_Ujpg HTTP11

Host blogexamplecom

Content-Type imagejpeg

Authorization Basic dXNIcjpwYXNz

Response HTTP11 200 OK

Delete 및 GET 동일함

여러 컬렉션 리소스의 메타 정보를 저장 및 기술한 문서

컬렉션 리소스

유저 정보 미디어 정보

Feed

Entry 등

Request GET atomsvc HTTP11 Host blogexamplecom

Response HTTP11 200 OK Content-Type applicationatomsvc+xml

ltservice hellipgt

ltworkspacegt

ltatomtitlegt마이 블로그ltatomtitlegt

ltcollection href=ldquohttpblogexamplecomfeedrdquogt

ltcategories fixed=ldquonordquogt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategoriesgt

ltacceptgtapplicationatom+xml type=entryltacceptgt

ltcollectiongt

ltcollection href=ldquohttpblogexamplecommediardquogt

ltatomtitlegt이미지ltatomtitlegt

ltacceptgtimagepngltacceptgt

ltacceptgtimagejpegltacceptgt

ltacceptgtimagegifltacceptgt

ltcollectiongt

ltworkspacegt

ltservicegt

서비스 문서

332 Page 응답 참고

반드시 하나이상

존재 함

Workspace는 0개 이상의

Collection을 가짐

334 PageltCollectiongt요소 참고

Media 컬렉션에서

받을 수 있는

Media Type들

생략 시 기본

accept

Feed 컬렉션에서

사용 가능한 CategoryFixed가 yes 일 때

그 외의 카테고리는 사용

불가능하다

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 6: Atom publishing protocol

Request GET feed HTTP11

Hostblogexamplecom

Response HTTP11 200 OK

Content-Typeapplicationatom+xml type=feed

ltfeed xmlns=httpwwww3org2005Atomgt

ltidgthelliphellipltidgt

helliphellip

ltfeedgt

엔트리 단위에서의 조작

Feed의 Entry는 고유의 URI를 가짐

각각의 URI는 HTTP를 통해 CRUD가 가능함

Link URI의 rel=ldquoeditrdquo 가 포함된 요소를 [Edit Link]

Edit Link = httpblogexamplecomentry1234atom

Request GET entry1234com HTTP11 Hostblogexamplecom

Response HTTP11 200 OK Content-Typeapplicationatom+xml type=entry

ltentry xmlns=httpwwww3org2005Atomgt hellip ltentrygt

Resource의

종류에 따라

바뀐다

GET 하여 취득한 정보를 수정하여 PUT 한다 Request

PUT entry1234atom HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt hellip ltupdatedgt2010-08-24T131154Zltupdatedgt ltcontentgt수정했어요ltcontentgt ltentrygt

Response HTTP11 200 OK

엔트리를 삭제할 수 있다

Request DELETE entry1234atom HTTP11

Host blogexamplecom

Authorization Basic dXNIcjpwYXNz

Request HTTP11 200 OK

컬렉션 리소스에 작성한다 Request

POST feed HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgt고유한 중복되지 않는 IDltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T161154Zltupdatedgt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

작성된 결과를 Return 한다 Response

HTTP11 201 Created Location httpblogexamplecomentry1235atom Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgttagblogexamplecom2010-08-24entry1235ltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T131155Zltupdatedgt ltlink href=httpblogexamplecomentry1235

rel=ldquoalternaterdquogt ltlink href=httpblogexamplecomentry1235 atom

rel=ldquoeditrdquogt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

Request POST media HTTP11 Host blogexamplecom Content-Type imagejpeg Authorization Basic dXNIcjpwYXNz Slug Good_To_See_U

Response HTTP11 201 Created Content-Type applicationatom+xml Location httpblogexamplecommediaGood_To_See_U

ltentryhellipgt ltidgttagblogexamplecom2010-10-04blogmediaGood_To_See_Ultidgt lttitlegtGood_To_See_Ulttitlegt ltauthorgtltnamegttestltnamegtltauthorgt ltcontent type=ldquoimagejpegrdquo src=httpmediaGood_To_See_Ujpggt ltlink rel=ldquoedit-mediardquo href=httpmediaGood_To_See_Ujpggt media edit ltlink rel=ldquoeditrdquo href=httpmediaGood_To_See_Uatomgt entry edit ltentrygt

Request PUT mediaGood_To_See_Ujpg HTTP11

Host blogexamplecom

Content-Type imagejpeg

Authorization Basic dXNIcjpwYXNz

Response HTTP11 200 OK

Delete 및 GET 동일함

여러 컬렉션 리소스의 메타 정보를 저장 및 기술한 문서

컬렉션 리소스

유저 정보 미디어 정보

Feed

Entry 등

Request GET atomsvc HTTP11 Host blogexamplecom

Response HTTP11 200 OK Content-Type applicationatomsvc+xml

ltservice hellipgt

ltworkspacegt

ltatomtitlegt마이 블로그ltatomtitlegt

ltcollection href=ldquohttpblogexamplecomfeedrdquogt

ltcategories fixed=ldquonordquogt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategoriesgt

ltacceptgtapplicationatom+xml type=entryltacceptgt

ltcollectiongt

ltcollection href=ldquohttpblogexamplecommediardquogt

ltatomtitlegt이미지ltatomtitlegt

ltacceptgtimagepngltacceptgt

ltacceptgtimagejpegltacceptgt

ltacceptgtimagegifltacceptgt

ltcollectiongt

ltworkspacegt

ltservicegt

서비스 문서

332 Page 응답 참고

반드시 하나이상

존재 함

Workspace는 0개 이상의

Collection을 가짐

334 PageltCollectiongt요소 참고

Media 컬렉션에서

받을 수 있는

Media Type들

생략 시 기본

accept

Feed 컬렉션에서

사용 가능한 CategoryFixed가 yes 일 때

그 외의 카테고리는 사용

불가능하다

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 7: Atom publishing protocol

엔트리 단위에서의 조작

Feed의 Entry는 고유의 URI를 가짐

각각의 URI는 HTTP를 통해 CRUD가 가능함

Link URI의 rel=ldquoeditrdquo 가 포함된 요소를 [Edit Link]

Edit Link = httpblogexamplecomentry1234atom

Request GET entry1234com HTTP11 Hostblogexamplecom

Response HTTP11 200 OK Content-Typeapplicationatom+xml type=entry

ltentry xmlns=httpwwww3org2005Atomgt hellip ltentrygt

Resource의

종류에 따라

바뀐다

GET 하여 취득한 정보를 수정하여 PUT 한다 Request

PUT entry1234atom HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt hellip ltupdatedgt2010-08-24T131154Zltupdatedgt ltcontentgt수정했어요ltcontentgt ltentrygt

Response HTTP11 200 OK

엔트리를 삭제할 수 있다

Request DELETE entry1234atom HTTP11

Host blogexamplecom

Authorization Basic dXNIcjpwYXNz

Request HTTP11 200 OK

컬렉션 리소스에 작성한다 Request

POST feed HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgt고유한 중복되지 않는 IDltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T161154Zltupdatedgt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

작성된 결과를 Return 한다 Response

HTTP11 201 Created Location httpblogexamplecomentry1235atom Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgttagblogexamplecom2010-08-24entry1235ltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T131155Zltupdatedgt ltlink href=httpblogexamplecomentry1235

rel=ldquoalternaterdquogt ltlink href=httpblogexamplecomentry1235 atom

rel=ldquoeditrdquogt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

Request POST media HTTP11 Host blogexamplecom Content-Type imagejpeg Authorization Basic dXNIcjpwYXNz Slug Good_To_See_U

Response HTTP11 201 Created Content-Type applicationatom+xml Location httpblogexamplecommediaGood_To_See_U

ltentryhellipgt ltidgttagblogexamplecom2010-10-04blogmediaGood_To_See_Ultidgt lttitlegtGood_To_See_Ulttitlegt ltauthorgtltnamegttestltnamegtltauthorgt ltcontent type=ldquoimagejpegrdquo src=httpmediaGood_To_See_Ujpggt ltlink rel=ldquoedit-mediardquo href=httpmediaGood_To_See_Ujpggt media edit ltlink rel=ldquoeditrdquo href=httpmediaGood_To_See_Uatomgt entry edit ltentrygt

Request PUT mediaGood_To_See_Ujpg HTTP11

Host blogexamplecom

Content-Type imagejpeg

Authorization Basic dXNIcjpwYXNz

Response HTTP11 200 OK

Delete 및 GET 동일함

여러 컬렉션 리소스의 메타 정보를 저장 및 기술한 문서

컬렉션 리소스

유저 정보 미디어 정보

Feed

Entry 등

Request GET atomsvc HTTP11 Host blogexamplecom

Response HTTP11 200 OK Content-Type applicationatomsvc+xml

ltservice hellipgt

ltworkspacegt

ltatomtitlegt마이 블로그ltatomtitlegt

ltcollection href=ldquohttpblogexamplecomfeedrdquogt

ltcategories fixed=ldquonordquogt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategoriesgt

ltacceptgtapplicationatom+xml type=entryltacceptgt

ltcollectiongt

ltcollection href=ldquohttpblogexamplecommediardquogt

ltatomtitlegt이미지ltatomtitlegt

ltacceptgtimagepngltacceptgt

ltacceptgtimagejpegltacceptgt

ltacceptgtimagegifltacceptgt

ltcollectiongt

ltworkspacegt

ltservicegt

서비스 문서

332 Page 응답 참고

반드시 하나이상

존재 함

Workspace는 0개 이상의

Collection을 가짐

334 PageltCollectiongt요소 참고

Media 컬렉션에서

받을 수 있는

Media Type들

생략 시 기본

accept

Feed 컬렉션에서

사용 가능한 CategoryFixed가 yes 일 때

그 외의 카테고리는 사용

불가능하다

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 8: Atom publishing protocol

Edit Link = httpblogexamplecomentry1234atom

Request GET entry1234com HTTP11 Hostblogexamplecom

Response HTTP11 200 OK Content-Typeapplicationatom+xml type=entry

ltentry xmlns=httpwwww3org2005Atomgt hellip ltentrygt

Resource의

종류에 따라

바뀐다

GET 하여 취득한 정보를 수정하여 PUT 한다 Request

PUT entry1234atom HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt hellip ltupdatedgt2010-08-24T131154Zltupdatedgt ltcontentgt수정했어요ltcontentgt ltentrygt

Response HTTP11 200 OK

엔트리를 삭제할 수 있다

Request DELETE entry1234atom HTTP11

Host blogexamplecom

Authorization Basic dXNIcjpwYXNz

Request HTTP11 200 OK

컬렉션 리소스에 작성한다 Request

POST feed HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgt고유한 중복되지 않는 IDltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T161154Zltupdatedgt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

작성된 결과를 Return 한다 Response

HTTP11 201 Created Location httpblogexamplecomentry1235atom Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgttagblogexamplecom2010-08-24entry1235ltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T131155Zltupdatedgt ltlink href=httpblogexamplecomentry1235

rel=ldquoalternaterdquogt ltlink href=httpblogexamplecomentry1235 atom

rel=ldquoeditrdquogt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

Request POST media HTTP11 Host blogexamplecom Content-Type imagejpeg Authorization Basic dXNIcjpwYXNz Slug Good_To_See_U

Response HTTP11 201 Created Content-Type applicationatom+xml Location httpblogexamplecommediaGood_To_See_U

ltentryhellipgt ltidgttagblogexamplecom2010-10-04blogmediaGood_To_See_Ultidgt lttitlegtGood_To_See_Ulttitlegt ltauthorgtltnamegttestltnamegtltauthorgt ltcontent type=ldquoimagejpegrdquo src=httpmediaGood_To_See_Ujpggt ltlink rel=ldquoedit-mediardquo href=httpmediaGood_To_See_Ujpggt media edit ltlink rel=ldquoeditrdquo href=httpmediaGood_To_See_Uatomgt entry edit ltentrygt

Request PUT mediaGood_To_See_Ujpg HTTP11

Host blogexamplecom

Content-Type imagejpeg

Authorization Basic dXNIcjpwYXNz

Response HTTP11 200 OK

Delete 및 GET 동일함

여러 컬렉션 리소스의 메타 정보를 저장 및 기술한 문서

컬렉션 리소스

유저 정보 미디어 정보

Feed

Entry 등

Request GET atomsvc HTTP11 Host blogexamplecom

Response HTTP11 200 OK Content-Type applicationatomsvc+xml

ltservice hellipgt

ltworkspacegt

ltatomtitlegt마이 블로그ltatomtitlegt

ltcollection href=ldquohttpblogexamplecomfeedrdquogt

ltcategories fixed=ldquonordquogt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategoriesgt

ltacceptgtapplicationatom+xml type=entryltacceptgt

ltcollectiongt

ltcollection href=ldquohttpblogexamplecommediardquogt

ltatomtitlegt이미지ltatomtitlegt

ltacceptgtimagepngltacceptgt

ltacceptgtimagejpegltacceptgt

ltacceptgtimagegifltacceptgt

ltcollectiongt

ltworkspacegt

ltservicegt

서비스 문서

332 Page 응답 참고

반드시 하나이상

존재 함

Workspace는 0개 이상의

Collection을 가짐

334 PageltCollectiongt요소 참고

Media 컬렉션에서

받을 수 있는

Media Type들

생략 시 기본

accept

Feed 컬렉션에서

사용 가능한 CategoryFixed가 yes 일 때

그 외의 카테고리는 사용

불가능하다

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 9: Atom publishing protocol

GET 하여 취득한 정보를 수정하여 PUT 한다 Request

PUT entry1234atom HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt hellip ltupdatedgt2010-08-24T131154Zltupdatedgt ltcontentgt수정했어요ltcontentgt ltentrygt

Response HTTP11 200 OK

엔트리를 삭제할 수 있다

Request DELETE entry1234atom HTTP11

Host blogexamplecom

Authorization Basic dXNIcjpwYXNz

Request HTTP11 200 OK

컬렉션 리소스에 작성한다 Request

POST feed HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgt고유한 중복되지 않는 IDltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T161154Zltupdatedgt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

작성된 결과를 Return 한다 Response

HTTP11 201 Created Location httpblogexamplecomentry1235atom Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgttagblogexamplecom2010-08-24entry1235ltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T131155Zltupdatedgt ltlink href=httpblogexamplecomentry1235

rel=ldquoalternaterdquogt ltlink href=httpblogexamplecomentry1235 atom

rel=ldquoeditrdquogt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

Request POST media HTTP11 Host blogexamplecom Content-Type imagejpeg Authorization Basic dXNIcjpwYXNz Slug Good_To_See_U

Response HTTP11 201 Created Content-Type applicationatom+xml Location httpblogexamplecommediaGood_To_See_U

ltentryhellipgt ltidgttagblogexamplecom2010-10-04blogmediaGood_To_See_Ultidgt lttitlegtGood_To_See_Ulttitlegt ltauthorgtltnamegttestltnamegtltauthorgt ltcontent type=ldquoimagejpegrdquo src=httpmediaGood_To_See_Ujpggt ltlink rel=ldquoedit-mediardquo href=httpmediaGood_To_See_Ujpggt media edit ltlink rel=ldquoeditrdquo href=httpmediaGood_To_See_Uatomgt entry edit ltentrygt

Request PUT mediaGood_To_See_Ujpg HTTP11

Host blogexamplecom

Content-Type imagejpeg

Authorization Basic dXNIcjpwYXNz

Response HTTP11 200 OK

Delete 및 GET 동일함

여러 컬렉션 리소스의 메타 정보를 저장 및 기술한 문서

컬렉션 리소스

유저 정보 미디어 정보

Feed

Entry 등

Request GET atomsvc HTTP11 Host blogexamplecom

Response HTTP11 200 OK Content-Type applicationatomsvc+xml

ltservice hellipgt

ltworkspacegt

ltatomtitlegt마이 블로그ltatomtitlegt

ltcollection href=ldquohttpblogexamplecomfeedrdquogt

ltcategories fixed=ldquonordquogt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategoriesgt

ltacceptgtapplicationatom+xml type=entryltacceptgt

ltcollectiongt

ltcollection href=ldquohttpblogexamplecommediardquogt

ltatomtitlegt이미지ltatomtitlegt

ltacceptgtimagepngltacceptgt

ltacceptgtimagejpegltacceptgt

ltacceptgtimagegifltacceptgt

ltcollectiongt

ltworkspacegt

ltservicegt

서비스 문서

332 Page 응답 참고

반드시 하나이상

존재 함

Workspace는 0개 이상의

Collection을 가짐

334 PageltCollectiongt요소 참고

Media 컬렉션에서

받을 수 있는

Media Type들

생략 시 기본

accept

Feed 컬렉션에서

사용 가능한 CategoryFixed가 yes 일 때

그 외의 카테고리는 사용

불가능하다

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 10: Atom publishing protocol

엔트리를 삭제할 수 있다

Request DELETE entry1234atom HTTP11

Host blogexamplecom

Authorization Basic dXNIcjpwYXNz

Request HTTP11 200 OK

컬렉션 리소스에 작성한다 Request

POST feed HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgt고유한 중복되지 않는 IDltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T161154Zltupdatedgt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

작성된 결과를 Return 한다 Response

HTTP11 201 Created Location httpblogexamplecomentry1235atom Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgttagblogexamplecom2010-08-24entry1235ltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T131155Zltupdatedgt ltlink href=httpblogexamplecomentry1235

rel=ldquoalternaterdquogt ltlink href=httpblogexamplecomentry1235 atom

rel=ldquoeditrdquogt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

Request POST media HTTP11 Host blogexamplecom Content-Type imagejpeg Authorization Basic dXNIcjpwYXNz Slug Good_To_See_U

Response HTTP11 201 Created Content-Type applicationatom+xml Location httpblogexamplecommediaGood_To_See_U

ltentryhellipgt ltidgttagblogexamplecom2010-10-04blogmediaGood_To_See_Ultidgt lttitlegtGood_To_See_Ulttitlegt ltauthorgtltnamegttestltnamegtltauthorgt ltcontent type=ldquoimagejpegrdquo src=httpmediaGood_To_See_Ujpggt ltlink rel=ldquoedit-mediardquo href=httpmediaGood_To_See_Ujpggt media edit ltlink rel=ldquoeditrdquo href=httpmediaGood_To_See_Uatomgt entry edit ltentrygt

Request PUT mediaGood_To_See_Ujpg HTTP11

Host blogexamplecom

Content-Type imagejpeg

Authorization Basic dXNIcjpwYXNz

Response HTTP11 200 OK

Delete 및 GET 동일함

여러 컬렉션 리소스의 메타 정보를 저장 및 기술한 문서

컬렉션 리소스

유저 정보 미디어 정보

Feed

Entry 등

Request GET atomsvc HTTP11 Host blogexamplecom

Response HTTP11 200 OK Content-Type applicationatomsvc+xml

ltservice hellipgt

ltworkspacegt

ltatomtitlegt마이 블로그ltatomtitlegt

ltcollection href=ldquohttpblogexamplecomfeedrdquogt

ltcategories fixed=ldquonordquogt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategoriesgt

ltacceptgtapplicationatom+xml type=entryltacceptgt

ltcollectiongt

ltcollection href=ldquohttpblogexamplecommediardquogt

ltatomtitlegt이미지ltatomtitlegt

ltacceptgtimagepngltacceptgt

ltacceptgtimagejpegltacceptgt

ltacceptgtimagegifltacceptgt

ltcollectiongt

ltworkspacegt

ltservicegt

서비스 문서

332 Page 응답 참고

반드시 하나이상

존재 함

Workspace는 0개 이상의

Collection을 가짐

334 PageltCollectiongt요소 참고

Media 컬렉션에서

받을 수 있는

Media Type들

생략 시 기본

accept

Feed 컬렉션에서

사용 가능한 CategoryFixed가 yes 일 때

그 외의 카테고리는 사용

불가능하다

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 11: Atom publishing protocol

컬렉션 리소스에 작성한다 Request

POST feed HTTP11 Host blogexamplecom Authorization Basic dXNIcjpwYXNz Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgt고유한 중복되지 않는 IDltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T161154Zltupdatedgt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

작성된 결과를 Return 한다 Response

HTTP11 201 Created Location httpblogexamplecomentry1235atom Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgttagblogexamplecom2010-08-24entry1235ltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T131155Zltupdatedgt ltlink href=httpblogexamplecomentry1235

rel=ldquoalternaterdquogt ltlink href=httpblogexamplecomentry1235 atom

rel=ldquoeditrdquogt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

Request POST media HTTP11 Host blogexamplecom Content-Type imagejpeg Authorization Basic dXNIcjpwYXNz Slug Good_To_See_U

Response HTTP11 201 Created Content-Type applicationatom+xml Location httpblogexamplecommediaGood_To_See_U

ltentryhellipgt ltidgttagblogexamplecom2010-10-04blogmediaGood_To_See_Ultidgt lttitlegtGood_To_See_Ulttitlegt ltauthorgtltnamegttestltnamegtltauthorgt ltcontent type=ldquoimagejpegrdquo src=httpmediaGood_To_See_Ujpggt ltlink rel=ldquoedit-mediardquo href=httpmediaGood_To_See_Ujpggt media edit ltlink rel=ldquoeditrdquo href=httpmediaGood_To_See_Uatomgt entry edit ltentrygt

Request PUT mediaGood_To_See_Ujpg HTTP11

Host blogexamplecom

Content-Type imagejpeg

Authorization Basic dXNIcjpwYXNz

Response HTTP11 200 OK

Delete 및 GET 동일함

여러 컬렉션 리소스의 메타 정보를 저장 및 기술한 문서

컬렉션 리소스

유저 정보 미디어 정보

Feed

Entry 등

Request GET atomsvc HTTP11 Host blogexamplecom

Response HTTP11 200 OK Content-Type applicationatomsvc+xml

ltservice hellipgt

ltworkspacegt

ltatomtitlegt마이 블로그ltatomtitlegt

ltcollection href=ldquohttpblogexamplecomfeedrdquogt

ltcategories fixed=ldquonordquogt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategoriesgt

ltacceptgtapplicationatom+xml type=entryltacceptgt

ltcollectiongt

ltcollection href=ldquohttpblogexamplecommediardquogt

ltatomtitlegt이미지ltatomtitlegt

ltacceptgtimagepngltacceptgt

ltacceptgtimagejpegltacceptgt

ltacceptgtimagegifltacceptgt

ltcollectiongt

ltworkspacegt

ltservicegt

서비스 문서

332 Page 응답 참고

반드시 하나이상

존재 함

Workspace는 0개 이상의

Collection을 가짐

334 PageltCollectiongt요소 참고

Media 컬렉션에서

받을 수 있는

Media Type들

생략 시 기본

accept

Feed 컬렉션에서

사용 가능한 CategoryFixed가 yes 일 때

그 외의 카테고리는 사용

불가능하다

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 12: Atom publishing protocol

작성된 결과를 Return 한다 Response

HTTP11 201 Created Location httpblogexamplecomentry1235atom Content-Type applicationatom+xml type=entry

ltentry hellipgt ltidgttagblogexamplecom2010-08-24entry1235ltidgt lttitlegt테스트lttitlegt ltauthorgtltnamegtmcJangltnamegtltauthorgt ltupdatedgt2010-08-24T131155Zltupdatedgt ltlink href=httpblogexamplecomentry1235

rel=ldquoalternaterdquogt ltlink href=httpblogexamplecomentry1235 atom

rel=ldquoeditrdquogt ltcontentgt새로운 컨텐츠ltcontentgt ltentrygt

Request POST media HTTP11 Host blogexamplecom Content-Type imagejpeg Authorization Basic dXNIcjpwYXNz Slug Good_To_See_U

Response HTTP11 201 Created Content-Type applicationatom+xml Location httpblogexamplecommediaGood_To_See_U

ltentryhellipgt ltidgttagblogexamplecom2010-10-04blogmediaGood_To_See_Ultidgt lttitlegtGood_To_See_Ulttitlegt ltauthorgtltnamegttestltnamegtltauthorgt ltcontent type=ldquoimagejpegrdquo src=httpmediaGood_To_See_Ujpggt ltlink rel=ldquoedit-mediardquo href=httpmediaGood_To_See_Ujpggt media edit ltlink rel=ldquoeditrdquo href=httpmediaGood_To_See_Uatomgt entry edit ltentrygt

Request PUT mediaGood_To_See_Ujpg HTTP11

Host blogexamplecom

Content-Type imagejpeg

Authorization Basic dXNIcjpwYXNz

Response HTTP11 200 OK

Delete 및 GET 동일함

여러 컬렉션 리소스의 메타 정보를 저장 및 기술한 문서

컬렉션 리소스

유저 정보 미디어 정보

Feed

Entry 등

Request GET atomsvc HTTP11 Host blogexamplecom

Response HTTP11 200 OK Content-Type applicationatomsvc+xml

ltservice hellipgt

ltworkspacegt

ltatomtitlegt마이 블로그ltatomtitlegt

ltcollection href=ldquohttpblogexamplecomfeedrdquogt

ltcategories fixed=ldquonordquogt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategoriesgt

ltacceptgtapplicationatom+xml type=entryltacceptgt

ltcollectiongt

ltcollection href=ldquohttpblogexamplecommediardquogt

ltatomtitlegt이미지ltatomtitlegt

ltacceptgtimagepngltacceptgt

ltacceptgtimagejpegltacceptgt

ltacceptgtimagegifltacceptgt

ltcollectiongt

ltworkspacegt

ltservicegt

서비스 문서

332 Page 응답 참고

반드시 하나이상

존재 함

Workspace는 0개 이상의

Collection을 가짐

334 PageltCollectiongt요소 참고

Media 컬렉션에서

받을 수 있는

Media Type들

생략 시 기본

accept

Feed 컬렉션에서

사용 가능한 CategoryFixed가 yes 일 때

그 외의 카테고리는 사용

불가능하다

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 13: Atom publishing protocol

Request POST media HTTP11 Host blogexamplecom Content-Type imagejpeg Authorization Basic dXNIcjpwYXNz Slug Good_To_See_U

Response HTTP11 201 Created Content-Type applicationatom+xml Location httpblogexamplecommediaGood_To_See_U

ltentryhellipgt ltidgttagblogexamplecom2010-10-04blogmediaGood_To_See_Ultidgt lttitlegtGood_To_See_Ulttitlegt ltauthorgtltnamegttestltnamegtltauthorgt ltcontent type=ldquoimagejpegrdquo src=httpmediaGood_To_See_Ujpggt ltlink rel=ldquoedit-mediardquo href=httpmediaGood_To_See_Ujpggt media edit ltlink rel=ldquoeditrdquo href=httpmediaGood_To_See_Uatomgt entry edit ltentrygt

Request PUT mediaGood_To_See_Ujpg HTTP11

Host blogexamplecom

Content-Type imagejpeg

Authorization Basic dXNIcjpwYXNz

Response HTTP11 200 OK

Delete 및 GET 동일함

여러 컬렉션 리소스의 메타 정보를 저장 및 기술한 문서

컬렉션 리소스

유저 정보 미디어 정보

Feed

Entry 등

Request GET atomsvc HTTP11 Host blogexamplecom

Response HTTP11 200 OK Content-Type applicationatomsvc+xml

ltservice hellipgt

ltworkspacegt

ltatomtitlegt마이 블로그ltatomtitlegt

ltcollection href=ldquohttpblogexamplecomfeedrdquogt

ltcategories fixed=ldquonordquogt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategoriesgt

ltacceptgtapplicationatom+xml type=entryltacceptgt

ltcollectiongt

ltcollection href=ldquohttpblogexamplecommediardquogt

ltatomtitlegt이미지ltatomtitlegt

ltacceptgtimagepngltacceptgt

ltacceptgtimagejpegltacceptgt

ltacceptgtimagegifltacceptgt

ltcollectiongt

ltworkspacegt

ltservicegt

서비스 문서

332 Page 응답 참고

반드시 하나이상

존재 함

Workspace는 0개 이상의

Collection을 가짐

334 PageltCollectiongt요소 참고

Media 컬렉션에서

받을 수 있는

Media Type들

생략 시 기본

accept

Feed 컬렉션에서

사용 가능한 CategoryFixed가 yes 일 때

그 외의 카테고리는 사용

불가능하다

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 14: Atom publishing protocol

Request PUT mediaGood_To_See_Ujpg HTTP11

Host blogexamplecom

Content-Type imagejpeg

Authorization Basic dXNIcjpwYXNz

Response HTTP11 200 OK

Delete 및 GET 동일함

여러 컬렉션 리소스의 메타 정보를 저장 및 기술한 문서

컬렉션 리소스

유저 정보 미디어 정보

Feed

Entry 등

Request GET atomsvc HTTP11 Host blogexamplecom

Response HTTP11 200 OK Content-Type applicationatomsvc+xml

ltservice hellipgt

ltworkspacegt

ltatomtitlegt마이 블로그ltatomtitlegt

ltcollection href=ldquohttpblogexamplecomfeedrdquogt

ltcategories fixed=ldquonordquogt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategoriesgt

ltacceptgtapplicationatom+xml type=entryltacceptgt

ltcollectiongt

ltcollection href=ldquohttpblogexamplecommediardquogt

ltatomtitlegt이미지ltatomtitlegt

ltacceptgtimagepngltacceptgt

ltacceptgtimagejpegltacceptgt

ltacceptgtimagegifltacceptgt

ltcollectiongt

ltworkspacegt

ltservicegt

서비스 문서

332 Page 응답 참고

반드시 하나이상

존재 함

Workspace는 0개 이상의

Collection을 가짐

334 PageltCollectiongt요소 참고

Media 컬렉션에서

받을 수 있는

Media Type들

생략 시 기본

accept

Feed 컬렉션에서

사용 가능한 CategoryFixed가 yes 일 때

그 외의 카테고리는 사용

불가능하다

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 15: Atom publishing protocol

여러 컬렉션 리소스의 메타 정보를 저장 및 기술한 문서

컬렉션 리소스

유저 정보 미디어 정보

Feed

Entry 등

Request GET atomsvc HTTP11 Host blogexamplecom

Response HTTP11 200 OK Content-Type applicationatomsvc+xml

ltservice hellipgt

ltworkspacegt

ltatomtitlegt마이 블로그ltatomtitlegt

ltcollection href=ldquohttpblogexamplecomfeedrdquogt

ltcategories fixed=ldquonordquogt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategoriesgt

ltacceptgtapplicationatom+xml type=entryltacceptgt

ltcollectiongt

ltcollection href=ldquohttpblogexamplecommediardquogt

ltatomtitlegt이미지ltatomtitlegt

ltacceptgtimagepngltacceptgt

ltacceptgtimagejpegltacceptgt

ltacceptgtimagegifltacceptgt

ltcollectiongt

ltworkspacegt

ltservicegt

서비스 문서

332 Page 응답 참고

반드시 하나이상

존재 함

Workspace는 0개 이상의

Collection을 가짐

334 PageltCollectiongt요소 참고

Media 컬렉션에서

받을 수 있는

Media Type들

생략 시 기본

accept

Feed 컬렉션에서

사용 가능한 CategoryFixed가 yes 일 때

그 외의 카테고리는 사용

불가능하다

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 16: Atom publishing protocol

Request GET atomsvc HTTP11 Host blogexamplecom

Response HTTP11 200 OK Content-Type applicationatomsvc+xml

ltservice hellipgt

ltworkspacegt

ltatomtitlegt마이 블로그ltatomtitlegt

ltcollection href=ldquohttpblogexamplecomfeedrdquogt

ltcategories fixed=ldquonordquogt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategoriesgt

ltacceptgtapplicationatom+xml type=entryltacceptgt

ltcollectiongt

ltcollection href=ldquohttpblogexamplecommediardquogt

ltatomtitlegt이미지ltatomtitlegt

ltacceptgtimagepngltacceptgt

ltacceptgtimagejpegltacceptgt

ltacceptgtimagegifltacceptgt

ltcollectiongt

ltworkspacegt

ltservicegt

서비스 문서

332 Page 응답 참고

반드시 하나이상

존재 함

Workspace는 0개 이상의

Collection을 가짐

334 PageltCollectiongt요소 참고

Media 컬렉션에서

받을 수 있는

Media Type들

생략 시 기본

accept

Feed 컬렉션에서

사용 가능한 CategoryFixed가 yes 일 때

그 외의 카테고리는 사용

불가능하다

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 17: Atom publishing protocol

카테고리 문서는 따로

관리가 가능하다

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 18: Atom publishing protocol

Request GET atomcat HTTP11

Host blogexamplecom

Response HTTP11 200 OK

Content-Type applicationatomcat+xml

ltcategory fixed=ldquonordquohellipgt

ltatomcategory term=ldquo일상rdquogt

ltatomcategory term=ldquo기술rdquogt

ltcategorygt

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 19: Atom publishing protocol

카테고리의 추가에 관해서는 스펙이 없음

일반적으로 블로그의 Tag와 유사함

Fixed가 no 이고 카테고리의 추가가 필요하다면

서버에서 해당 부분을 구현해야 함

반대로 fixed 가 yes 일 때에는 AtomPub와 다른

인터페이스로 카테고리 정보를 편집할 수 있게 해

야 함

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API

Page 20: Atom publishing protocol

AtomPub Atom 리소스를 CRUD 하는 Web API를 위한프로토콜

Google은 AtomPub을 베이스로한 Gdata를 사용해 블로그 캘린터 스프레드시트 앨범등을 편집할 수 있는 Web API 제공

Good 블로그 서비스의 API 검색 기능을 가진 데이터베이스의 API 멀티미디어 파일의 Repository의 API 태그(Tag)를 사용한 소셜 서비스의 API

Bad Comet을 이용하는 실시간성이 중요한 API 영상의 스트림 전송 등 HTTP 이외의 프로토콜을 필요로 하는 API 데이터의 계층 구조가 중요한 API Atom 포멧이 제공하는 메타 데이터가 불필요한 API