반응형

수년간 사용해왔지만

누군가 내게 Rest API가 도대체 무엇이냐 묻는다면

어떻게 설명할 수 있을까

 

REST

Representational State Protocol의 약자이다

네트워크 아키텍쳐 원리의 모음이며, "자원을 정의하고", "자원에 대한 주소를 지정" 하는 방법을 통칭한다.

 

 

REST API

REST를 따르는 API

URI를 이용하여 정보의 자원을 지정하고

HTTP METHOD를 통해 자원에 대한 행위를 표현하는

설계 아키텍쳐 방법을 말한다.

 

 

REST API 구조

1) 자원 (resource) - URI

2) 행위 - HTTP METHOD

3) 표현 - Presentation

 

URI는 정보의 자원을 표현해야 한다.

자원에 대한 행위는 HTTP METHOD로 표현해야 한다.

 

나쁜예, 좋은예를 통해 Rest API를 확실히 정리하자

[ 나쁜예 ]
POST /api/poster/delete/:id
[ 좋은예 ]
DELETE /api/post/:id

 

아주 단순하지만

REST하다는 것이 무엇인지 충분히 와닿는 예시라고 생각한다.

 

이런 식으로 설계된 API를 보고

REST하다고 하여 Restful API라고 부르기도 한다.

 

 

** 한걸음만 더! **

REST API의 또 다른 장점

-> HTTP Protocol이 stateless protocol이기 때문에, REST API 역시 무상태성을 가진다.

무상태성을 가진다 함은 Client의 context를 서버에 저장하지 않는다는 뜻이다.

즉, 세션이나 쿠키같은 contect정보를 신경쓰지 않아도 된다는 것이고 그만큼 구현이 단순해 진다는 장점을 갖는 것이다.

반응형
반응형

EC2와 NGINX만 쓸때는 너무나도 자연스러웠던것이

LoadBalancer를 쓰면서 추가적인 조치가 필요해졌다

 

EC2 + NGINX 구성에서는 늘 사용자 요청의 대문역할은 NGINX였고,

NGINX에 HTTP -> HTTPS Redirect 설정을 해두면 자연스럽게 처리되었다.

 

다만, 이번에 사용자의 증가로 Load Balancer를 적용한 이후로는 해당 코드는 무효했었다.

대문이 NGINX가 아니라 Load Balancer가 되어버린것이다.

따라서,  HTTP -> HTTPS Redirect설정을 Load Balancer에서 해주었다.

 

너무나도 간단하고 친절하게 되어있으므로 겁먹을 필요없다.

1. EC2 -> 로드밸런서 -> 대상 클릭 -> 하단에 탭중 리스너 -> HTTP 내용중 "규칙 보기/편집"을 클릭하여 해당화면으로 진입.

2. 연필탭 클릭 -> 왼쪽에 뜬 연필 한번 더 클릭 -> 기본 설정 지우고 "리다이렉션 설정" -> HTTPS / 443


참고자료
stackoverflow.com/questions/24603620/redirecting-ec2-elastic-load-balancer-from-http-to-https

반응형