서버관련

Rest? , Rest Api?

front(React)  back ( Django)  개발중.. 하나 깨달은것이 있다. 내가 이해한게 맞다면.

장고 템플릿으로 front 구현하는것과  리액트 같은 웹프레임워크로 front 구현하는것은 큰차이를 가진다.

완전히 영역에 구분을 두어야한다는것이다.

장고템플릿을 사용할땐 장고에서 form을 만들어서 front에 rendering 해줬지만 리액트는 아니었다.

front는 리액트에서 끝내야했다.  장고에서는 요청 ,응답만 해야한다.(정보송수신)

찾아본결과 Django restframework api 를 많이 쓰는것을 볼수있었다

 

이기회에 . Django restframework api 익힘과 동시에 Rest에 대한 정의도 찾아보기로했다.

 

1. REST란?

Representational status transfer의 약자이며 의미에서 유추할 수 있듯 '무언가'를 주고 받는 아키텍쳐 이다.

여기서 말하는 아키텍쳐 스타일은 '제약 조건의 집합' 또는 '프로토콜' 정도로 봐도 무방하다.

따라서 Restful 이란, 어떤 '무언가'를 주고 받을 때의 약속을 정의하고, 그 약속을 완벽히 이행했을 때(ful의 의미) 붙여지는 수식어이다.

 

2. REST API란?

REST는 총 3가지로 구성.

자원(Resource) : URI

행위(Verb) : HTTP METHOD (GET, POST, DELETE PUT 등 등.)

표현(Representation of resource) : 데이터의 형태 (Json, xml, text, ...)

동작하는 방식을 요약하면 URIHttp method가 주어지면 그에 대한 결과를 json형태로 받는다. 라고 생각하면된다.

 

 

3. 장점과 사용하는 이유

(1) Front-end와 Back-end의 완벽한 분리가 가능하다. (생산성 향상)

(2) 코드의 재사용성 증가 (서로 다른 웹 페이지에서 동일한 API 호출이 가능하기 때문)

즉 개발시간을 줄여준다.

 

 

 

 

 

 

'서버관련' 카테고리의 다른 글

아나콘다 설치 (with aws)  (1) 2020.07.23
Apache?? , Nginx ??  (0) 2020.05.05
php-mysql -android( retrofit)  (0) 2020.03.28
node js/ socket io를 이용한 통신.  (0) 2019.12.10