백엔드/node.js
[node] HTTP 서버 / 웹 프레임워크
개발자딥게
2022. 10. 13. 17:13
반응형
HTTP 서버
HTTP서버
http 모듈 이용한 웹서버 만들기
const http = require('http');
http.createServer((request, response) => {
response.statusCode = 200;
response.setHeader('Content-Type', 'text/plain');
response.end('hello world');
console.log('server is running');
}).listen(3000);
위 코드의 js 파일을 실행한 후, 브라우저(크롬과 같은) 에서 localhost:3000에 접속하면 아래와 같은 화면이 나온다.
RESTful API
Representational State Transfer 즉, 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 것을 의미한다.
HTTP URI를 통해 자원을 명시하고, 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것이다.
http 메소드 (POST, GET, PUT, DELETE)를 이용해서 URL을 디자인 함.
CRUD
Create : 데이터 생성을 위한 POST
Read : 데이터 읽기를 위한 GET
Update : 데이터 수정을 위한 PUT
Delete : 데이터 삭제를 위한 DELETE
URI 작성 규칙
- 명사를 쓴다.
- 소문자를 쓴다
- 언더바 ( _ ) 대신 하이폰 ( - )을 사용한다.
- 파일확장자(.js 등)는 포함하면 안된다.
- 마지막에 슬래시 ( / )는 포함되면 안된다.
웹 프레임워크
프레임워크를 사용하여, 정형화된 부분들은 간단하게 구현하고 필요한 부분만 집중해서 개발 가능하다.
프레임워크 : 개발에 필요한 다양한 도구들이 모여있는 곳.
- HTTP 요청 처리 (req)
- HTTP 응답 처리 (res)
- 라우팅 : HTTP 요청을 분기하는 방법으로, 요청URL에 해당하는 알맞은 응답의 경로를 미리 설정하는 것.
- HTML Templating : SSR 구현하기 위한 방법으로, 서버에선 HTML template을 이용해 페이지의 뼈대를 작성할 수 있다.
node.js 기반의 백엔드에서 라우팅은 express 프레임워크를 주로 사용한다.
반응형