-
Node.js ) Post 방식으로 Data 넘기기Programming/Node.js 2019. 8. 16. 16:35
TIL(Today I learned) 을 기록하는 공간입니다.
잘못된 내용 또는 부족한 내용에 대한 수정 및 지적 환영합니다.
▶생활코딩 : Node.js - 글목록 출력하기
https://www.opentutorials.org/course/3332/21136
App - POST 방식으로 전송된 데이터 받기 - 생활코딩
수업소개 POST 방식으로 전송된 데이터를 받아서 파일로 저장하는 방법에 대해서 알아보겠습니다. 강의 소스코드 main.js (변경사항) var http = require('http'); var fs = require('fs'); var url = require('url'); var qs = require('querystring'); function templateHTML(title, list, body){ return ` WEB1 - ${title}
www.opentutorials.org
웹서버로 데이터를 넘기는 방식에는 크게 두가지가 있다.
GET 방식과 POST 방식.이 둘의 차이는 무엇일까?
GET 방식의 경우, 사용자가 넘기고자 하는 값을 url에 포함시켜서 넘긴다.
ex) localhost:30000/?id=walnuty
POST 방식의 경우, 사용자가 넘기고자 하는 값을 HTTP의 body에 담아 눈에 보이지 않는 형태로 넘긴다.
통상적으로 서버에서 데이터를 가져오는 경우, GET을 사용해도 무방하지만,
서버에 데이터를 생성, 수정 또는 삭제와 같은 처리를 할 경우, POST 방식을 사용하는것이 더 적합히다.
이번에는 POST 방식을 이용하여 전송된 데이터를 받는 법에 대해 공부하고자 한다.
var qs = request('querystring'); var body = ""; //request - 요청할 때 웹 브라우저가 보낸 정보 //response - 응답할 때 웹 브라우저에 보낼 정보 //데이터를 차례차례 받아 body에 저장. request.on('data',function(){ body = body + data; }); //더 이상 가져올 데이터가 없을 때 실행되는 함수. request.on('end',function(){ var post= qs.parse(body); });
위 방식이 바로 POST 방식으로 데이터가 전송되었을때 이를 받는 방식이다.
*request.on('data',function(){]);
- POST 방식은 GET 방식과 다르게 대용량의 데이터도 전송할 수 있다.
- 그러나 데이터가 무리하게 많을 경우, 비정상적인 동작(시스템 다운 등...)을 할 가능성이 있기 때문에
그러한 경우를 대비하여 데이터를 적당량씩 받아와서 function을 실행시킬 수 있도록 하는 함수.
=> 위 코드에서는 일정량의 data를 받아와, 변수 body에 저장하고 있다.
*request.on('end',function(){});
- 위와 같은 방식으로 data를 모두 받아오고, 더 이상 받아올 데이터가 없을 때 function을 실행하도록 하는 함수.
=> 사용자가 보낸 정보 중에서 POST로 넘긴 정보를 post 변수에 저장하고 있다.
▶ 새롭게 알게 된 점
- POST로 데이터를 받을때에는 request.on(?,?)함수를 이용한다.
- POST로 넘겨진 데이터를 qs.parse(body)를 통하여 객체화 할 수 있다.
'Programming > Node.js' 카테고리의 다른 글
Node.js) 객체 활용하기 (0) 2019.09.02 Node.js ) Javascript에서는 변수를 함수에 대입할 수 있을까? (0) 2019.09.02 Node.js ) PM2 사용 방법 (0) 2019.08.16 Node.js ) 글 목록 불러오기 (0) 2019.08.16 Node.js ) Not Found Exception 구현 하기 (0) 2019.08.16