일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- AWS
- node.js
- 탐욕기법
- 운영체제
- DB
- 병행제어
- 노드
- 알고리즘
- API문서
- DATABASE
- NEST
- 보안
- 데이터베이스
- 백트래킹
- S3
- 자바스크립트
- OS
- IT
- 스프링부트
- access control
- 컴퓨터
- 되추적
- 컴퓨터보안
- node
- 디비
- 백준
- 인터럽트
- 컴퓨터 보안
- ES6
- rest docs
- Today
- Total
목록node.js (24)
개발스토리
쿠키와 세션 이해하기 클라이언트에서 보내는 요청에는 한 가지 큰 단점이 있다. 바로 누가 요청을 보내는 지 모른다는 것이다. 그래서 많은 웹 사이트들은 로그인 기능을 포함한다. 로그인을 구현하려면 쿠키와 세션에 대해 알고 있어야 한다. 로그인을 한 후에 새로고침을 해도 로그아웃이 되지 않는다. 그것은 바로 클라이언트가 서버에 우리가 누군 지 지속적으로 알려주고 있기 때문이다. 우리가 누군지 기억하기 위해 서버는 요청에 대한 응답을 할 때 쿠키라는 것을 같이 보낸다. 쿠키는 유효 기간이 있으며 키-값의 쌍이다. 서버로 부터 쿠키가 오면 웹 브라우저는 쿠키를 저장해두었다가 요청할 때마다 동봉해서 보낸다. 서버는 요청에 들어있는 쿠키를 읽어서 사용자가 누구인지 파악한다. 쿠키는 요청의 헤더에 담겨 전송된다. ..
REST는 REpresentational State Transfer의 줄임말이며, 서버의 자원을 정의하고 자원에 대한 주소를 지정하는 방법을 가리킨다. 자원이라고 해서 꼭 파일일 필요는 없으며 서버가 행할 수 있는 것들을 통틀어서 의미한다. GET : 서버 자원을 가져오고자 할 때 사용된다. 요청의 본문에 데이터를 넣지 않는다. 데이터를 서버로 보내야 한다면 쿼리 스트링을 사용한다. POST : 서버에 자원을 새로 등록하고자 할 때 사용된다. 요청의 본문에 새로 등록할 데이터를 넣어 보낸다. PUT : 서버의 자원을 요청에 들어 있는 자원으로 치환하고자 할 때 사용된다. 요청의 본문에 치환할 데이터를 넣어 보낸다. PATCH : 서버 자원의 일부만 수정하고자 할 때 사용된다. 요청의 본문에 일부 수정할 ..
요청과 응답 이해하기 서버는 클라이언트가 있기에 동작한다. 클라이언트에서 서버로 요청을 보내고 서버에서는 요청의 내용을 읽고 처리한 뒤 클라이언트에 응답을 보낸다. 따라서, 서버에는 요청을 받는 부분과 응답을 보내는 부분이 있어야 한다. 요청과 응답은 이벤트 방식이라고 생각하면 된다. 클라이언트로부터 요청이 왔을 때 어떤 작업을 수행할지 이벤트 리스너를 미리 등록해두어야 한다. 이벤트 리스너를 가진 노드 서버를 만들어보자. //createServer.js const http = require('http'); http.createServer((req,res)=>{ // 어떻게 응답할지 적자. }); req 객체는 요청에 관한 정보들을, res 객체는 응답에 관한 정보를 담고 있다. 이제, 응..
fs 모듈은 파일 시스템에 접근하는 모듈이다. 즉, 파일을 생성하거나 삭제하고, 읽거나 쓸 수 있다. 폴더도 만들거나 지울 수 있다. //readme.txt 안녕하세용 //readFile.js const fs = require('fs'); fs.readFile('./readme.txt',(err,data)=>{ if(err){ throw err; } console.log(data.toString()); //안녕하세용 }) fs 모듈을 불러온 뒤 읽을 파일의 경로를 지정한다. 파일의 경로는 node 명령어를 실행하는 콘솔 기준이라는 점에 유의하자. fs는 기본적으로 콜백 형식의 모듈이므로 실무에서 사용하기 불편하다. 따라서 fs 모듈을 프로미스 형식으로 바꿔주는 방법을 사용한다. // readFilePro..