모든 블로그 내용들이 좋았지만 지극히 주관적으로 봤을 때 잘 정리되어 있는 블로그를 정리해두었습니다. 타이틀에 대한 설명은 아래와 같습니다.
【개념정리】: 기본 개념에 대해서 잘 간단하고 잘 정리 되어 있다고 생각된 글
【추천】: 읽어 본 글 중에 가장 이해하기 쉽고 상세한 내용도 잘 정리되어있다고 생각된 글
그외: 읽어보고 좋았던 글, 참고하면 좋은 글
API에 대해서 배우기
HATEOAS
간단정리
- Hypermedia As The Engine Of Application State의 약자로, 기본적인 아이디어는 하이퍼미디어를 애플리케이션의 상태를 관리하기 위한 메커니즘으로 사용
- 클라이언트가 전적으로 서버와 동적인 상호작용이 가능하도록 하는 것
- Hateoas는 REST API를 잘 설계하기 위해 나온 개념이다
- 연관된 링크도 응답(Response)으로서 함께 담아서 보내주는 개념이라고 보면된다.
- 장점
- 추가적인 Action들이 링크로 제공되어, Application에서 어떤 서비스를 해주는지 한눈에 볼 수 있다
- 목표
- 높은 수준에서 Client와 Server를 분리시키는 것
- 의존성을 줄여 Client와 Server각각 독립적으로 개발하는 것
오픈 API 스펙과 Swagger
간단정리
Open API
- 단어 그대로 “개방된 API”
- 누구나 사용될 수 있도록 API의 endpoint가 개방되어있다면 Open API가 된다.
OpenAPI
- Open API와 다르다!
- OpenAPI Specification(OAS)라고 부른다
- RESTful API를 기 정의된 규칙에 맞게 API spec을 json이나 yaml로 표현하는 방식을 의미
- RESTful API 디자인에 대한 정의(Specification) 표준
Swagger
- OpenAPI Spec 에 맞게 디자인하고 문서화하고 빌드하기 위한 도구들의 모음
- 구성 요소
- Swagger Editor – 브라우저 기반의 편집기로 OpenAPI spec 을 쉽게 작성할 수 있도록 도와준다.
- Swagger UI – OpenAPI spec 문서를 디플로이하고 브라우저에서 예쁘게 표시할 수 있도록 해준다.
- Swagger Codegen – OpenAPI spec 에 맞게 Server 나 Client 의 stub code 를 생성해 준다.
- 개발자는 생성된 코드에 비즈니스 로직에 집중해서 구현하면 된다.
인증
Cookie 기반
간단정리
- 로그인 과정에서만 계정 정보를 서버에 직접 보내고, 그 후로는 세션과 쿠키를 활용하여 인증하는 방식
OAuth(다른 서비스의 회원 정보를 안전하게 사용하기 위한 방법)
기본적인 인증
토큰 인증
JWT(JSON Web Token)
간단정리
- JWT는 JSON Web Token의 약자로 클라이언트와 서버, 서비스와 서비스 사이 통신 시 권한 인가를 위해 사용하는 토큰으로 만든 것이다
- 토큰을 만드는 데에는 크게 Header, Payload, Verify Signature가 필요
OpenID
SAML(Security Assertion Markup Language)
추가로 보면 좋은 사이트
간단정리
- SSO: 한번의 로그인으로 여러개의 애플리케이션들을 이용할 수 있게해주는 서비스
REST - Roy Fieiding의 Poper 읽기
JSON APIs
【개념정리】JSON이란 무엇일까??
- JSON = JavaScript Object Notation
SOAP(Simple Object Access Protocol)
【개념정리】 [Open API] SOAP 란?
【추천】 SOAP API VS REST API 두방식의 큰 차이점은?
간단정리
- HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환화는 프로토콜