API는 별도의 URL 엔드포인트와 컨트롤러를 사용한다. 그럼에도 불구하고, 웹 브라우저에서 들어 오는 요청과 처리 로직이 달라질 것이 없으므로, 컨트롤러를 최대한 재활용하고 중복을 제거하는 구조를 같이 고민해...
라라벨 5 입문 및 실전 on 16-01-21
API 클라이언트는 웹 브라우저처럼 쿠키 메커니즘을 이용해 세션을 유지할 수 없다. 따라서 HTTP의 무상태 특성을 이용한 인증을 해야 한다. 매 요청마다 사용자 인증 정보를 전달해야 하므로 보안 이슈가 발생한다....
필자가 개발한 컴포저 컴포넌트를 이용해서 중복을 한번 더 제거한다.
API에서는 데이터 자체가 사용자에게 제공하는 뷰다. 데이터는 의미를 담고 있어서, 읽기 편하고, 탐색하기 편해야 한다. 블레이드로 HTML 페이지를 꾸몄듯이, 트랜스포머로 API 응답을 포맷팅하는 방법을 배운다.
API는 일종의 공공재다. 한 명이 독점하면 공공재의 비극이 찾아온다. 사용량 제한은 공공재를 사용자들간에 공평하게 나누어 쓸 수 있도록 한다. 무차별 HTTP 요청을 하는 해커의 공격을 막을 수 있는 부서적인 효...
자동 증가 ID는 여러 가지 문제가 있다. 어떤 문제인지는 본문에 자세히 설명하고 있다. ID를 난독화해서 연속성을 없애는 기능을 구현한다.
API 클라이언트 중에는 Ajax(XHR) 요청을 브라우저도 있을 수 있다. 브라우저에서는 동일 출처 보안 정책(CORS, Cross Origin Resource Sharing)이란 것이 있어, 서버로 부터 데이터를 받았더라도 브라우저가 데이터...
캐싱은 빠지지 않는 주제다. 왜냐하면 "돈"이기 때문이다. 서버의 컴퓨팅 자원, 네트워크 대역폭, 단말기의 컴퓨팅 자원 등등. API 데이터의 변경 여부에 따라, 캐싱을 제어하는 방법을 배운다.
부분 응답은 캐싱과 마찬가지로 역시 "돈"에 관련된 이슈다. API 클라이언트가 필요한 필드만 요청하도록 하는 것이다. 쓰지도 않을 데이터를 전부 요청하고 응답하는 것 보다, 꼭 필요한 필드만 골라서 주고 받는...
API 문서에 관련된 이야기를 한다. 그리고, Apiary란 서비스를 이용해서 API 문서를 만드는 방법을 실습해 본다.