목차

옮긴이의 글
추천사
머리말
감사의 글

1. 웹 서핑하기
에피소드 1: 광고판
에피소드 2: 홈페이지
에피소드 3: 링크
에피소드 4: 폼과 리다이렉트
애플리케이션 상태
리소스 상태
연결
웹은 뭔가 특별하다
의미 체계(semantic)의 문제

2. 간단한 API
HTTP GET: 확실한 시도
HTTP 응답 읽기
JSON
Collection+JSON
API 작성하기
HTTP POST: 리소스는 어떻게 탄생할까
제약 조건으로 자유해짐
애플리케이션 의미가 의미적 차이를 만든다

3. 리소스와 표현
무엇이든 리소스가 될 수 있다
표현은 리소스 상태를 설명한다
표현은 양방향으로 전송된다
많은 표현이 있는 리소스
HTTP의 프로토콜 의미
어떤 메서드를 사용해야 할까?

4. 하이퍼미디어
하이퍼미디어 형식으로서의 HTML
URI 템플릿
URI 대 URL
Link 헤더
하이퍼미디어는 무엇을 위한 것인가
가짜 하이퍼미디어를 조심하자!
의미 체계의 문제: 잘 대응하고 있는가?

5. 도메인 특화 설계
Maze+XML: 도메인 특화 설계
Maze+XML은 어떻게 동작하나
미로 컬렉션
Maze+XML이 API일까?
클라이언트 #1: 게임
Maze+XML 서버
클라이언트 #2: 지도 제작기
클라이언트 #3: 허풍쟁이(The Boaster)
클라이언트는 그들이 원하는 일을 한다
표준 확장하기
지도 제작기의 결점
메타포로서의 미로
의미 체계의 문제 맞닥뜨리기
도메인 특정 설계는 어디에 있는가?
도메인 특정 설계를 찾을 수 없다면 만들지 말라
API 클라이언트의 종류

6. 컬렉션 패턴
컬렉션은 무엇인가?
Collection+JSON
(일반) 컬렉션은 어떻게 동작하는가
AtomPub(Atom Publishing Protocol)
의미 체계의 문제: 잘 대응하고 있는가?

7. 순수 하이퍼미디어 설계
왜 HTML인가?
HTML의 기능
마이크로포맷
hMaze 마이크로포맷
마이크로데이터
리소스 상태 변경하기
하이퍼미디어의 대체재는 미디어다
HTML의 제약
하이퍼텍스트 애플리케이션 언어
사이렌
의미 체계의 문제: 잘 대응하고 있는가?

8. 프로파일
클라이언트는 문서를 어떻게 찾는가?
프로파일이 뭘까?
프로파일에 연결하기
프로파일은 프로토콜 의미 체계를 설명한다
프로파일은 애플리케이션 의미 체계를 설명한다
XMDP: 기계가 이해할 수 있는 첫 번째 프로파일 형식
ALPS
JSON-LD
임베딩된 문서
요약

9. 설계 절차
2단계 설계 절차
7단계 설계 절차
예제: You Type It, We Post It
몇 가지 설계 충고
기존 API에 하이퍼미디어 추가하기
앨리스의 두 번째 모험

10. 하이퍼미디어 동물원
도메인 특화 형식
컬렉션 패턴 형식
순수 하이퍼미디어 형식
GeoJSON: 문제가 되는 유형
의미 체계 동물원

11. API를 위한 HTTP
새로운 HTTP/1.1 설계 명세서
응답 코드
헤더
표현들 사이에서 선택하기
HTTP 성능
업데이트를 못한 문제 피하기
인증
HTTP 확장
HTTP 2.0

12. 리소스 설명과 연결된 데이터
RDF
설명 전략을 사용해야 할 때
리소스 유형
RDF 스키마
연결된 데이터로의 이동
JSON-LD
히드라
XRD 종류들
온톨로지 동물원
결론: 설명 전략은 살아 있다!

13. CoaP: 임베디드 시스템을 위한 REST
CoaP 요청
CoaP 응답
메시지의 종류
지연된 응답
멀티캐스트 메시지
CoRE 연결 형식
결론: HTTP가 없는 REST

부록 A. 상태 목록(Status Codex)
부록 B. 헤더 목록(Header Codex)
부록 C. API 설계자를 위한 필딩 논문 가이드
용어 해설
찾아보기

 

+ Recent posts