1.0 REST
1.1 REST란?
REST란 자원의 이름을 구분하여 자원의 상태를 주고받는 과정을 말합니다.
쉽게 풀어서 말하자면 Client와 서버가 손쉽게 대화(요청, 응답)하는 과정이라 생각하면 됩니다.
1.2 자원의 이름?
다들 URL이라고 들어봤을 겁니다. 웹브라우저상 눈으로 간단하게 확인이 가능한 자원의 이름 형태중 하나입니다.
1.3 REST의 장점
REST는 HTTP 표준 프로토콜을 기반으로 만들어진 API입니다. 즉, HTTP 인프라를 통해 사용되기 때문에 여러 가지 별도의 인프라 구축이 필요 없습니다. 또한 HTTP 표준 프로토콜을 따르는 플랫폼(크롬, 엣지, 파이어폭스 등)이라면 사용이 가능합니다.
1.4 REST의 단점
REST는 4가지의 메서드(POST, GET, PUT, DELETE)를 통해 대화를 합니다. 의미가 명확하여 손쉬운 사용이 가능하지만 적은 메서드로 인해 표현의 제한이 있다는 점입니다. 게다가 구형브라우저에서는 POST와 GET만 지원하는 경우도 존재하니 더욱 제한적이게 됩니다.
다른 단점으로는 위 장점에서 보았듯이 REST는 HTTP 표준을 따르기 때문에 별도의 표준이 존재하지가 않다는 점 또한 단점입니다.
1.5 왜 REST를 사용하나?
오늘날 우리 사회는 이 전과 달리 컴퓨터와 인터넷 브라우저만 사용하지 않습니다. 다양한 플랫폼과 디바이스들이 등장함으로써 서버는 다양한 플랫폼, 즉 멀티플랫폼을 지원해야 합니다.
새로운 하나의 표준을 만드는 일은 여간 쉬운 일이 아닙니다. 매 새로운 디바이스들이 출시될 때마다 그에 맞는 표준을 만든다는 것은 말도 안 되는 일입니다. 그렇기에 기존의 REST를 그대로 멀티 플랫폼에도 사용 중입니다.
2.0 Nodejs(express)를 이용한 REST
2.1 Client
form 태그에 method에 보면 get, post 방식으로 요청하는 것을 확인할 수 있다.
2.2 Server
get방식은 URL을 이용하여 데이터를 요청하며 , 서버 쪽에서는 req.query를 이용하여 데이터를 읽어올 수 있다.
그에 반면 post는 URL이 아닌 reqest body 쪽에 데이터를 넣으며 URL을 통해 데이터를 확인할 수 없다.
게시글처럼 긴 글을 서버 쪽으로 보낼 때나 회원가입이나 로그인처럼 민감한 정보가 포함된 데이터는 post method를 통해 데이터를 보내는 것이 일반적이다.
간단하게 클라이언트와 서버를 제작함으로써 REST 클라이언트, 서버의 역할과 기본적인 메서드를 알아보았다.
1. 클라이언트는 서버에 형식에 맞추어 요청을 한다.
2. 서버는 클라이언트 요청을 구분 지어 그에 맞은 결과를 클라이언트에 응답한다.
GitHub - dotredbee/rest-basic: rest-basic server 1
rest-basic server 1. Contribute to dotredbee/rest-basic development by creating an account on GitHub.
github.com
'Backend > Node.js' 카테고리의 다른 글
[Node.js 개발자 되기] 6. 로그인 구현 (0) | 2023.02.23 |
---|---|
[Node.js 개발자 되기] 5. HTTP프로토콜 특징 그리고 세션과 쿠키 (0) | 2023.02.23 |
[Node.js 개발자 되기] 4. BootStrap 적용 (0) | 2023.02.22 |
[Node.js 개발자 되기] 3. 코드 정리하기 (0) | 2023.02.22 |
[Node.js 개발자 되기] 2. REST를 이용한 CRUD (0) | 2023.02.22 |