목차
http 모듈 정의
http 모듈 구문
http 모듈로 서버 생성하기
HTTP 헤더 추가
Query 문자열 읽기
Query 문자열 분할
http 모듈 정의
HTTP (Hyper Text Transfer Protocol)를 통해 데이터를 전송해 브라우저에 데이터를 뿌려주는 역할 함.
http 모듈 구문
var http = require('http');
http 모듈로 서버 생성하기
1.
http .createServer() 메서드 이용해서,
서버 포트를 수신하고 클라이언트에 응답을 제공하는 HTTP 서버 생성.
[예제]
1.
아래 소스를 c:\User\사용자명\hz.js 파일로 저장.
var http = require('http');
// 서버 객체 생성.
http .createServer (function (req, res) {
res.write('Homzzang.com'); // 클라이언트에게 응답 쓰기.
res.end(); // 응답 끝내기.
}).listen(8080); // 서버는 8080 포트로 클라이언트와 소통.
PS.
http.createServer() 메서드에 전달된 함수는 누군가 포트 8080에서 컴퓨터에 접근하려고 할 때 실행 .
2.
아래 명령어로 Node.js 파일 시작 설정.
C:\Users\사용자명>node hz.js
3.
브라우저로 접속해 출력 확인.
http://localhost:8080/
HTTP 헤더 추가
HTTP 서버의 응답이 HTML로 표시돼야 할 경우,
writeHead() 이용해 응답 콘텐츠에 맞는 HTTP 헤더 제공 필요.
[구문]
res.writeHead(state, header )
[매개변수]
state
필수. 상태를 나타내는 숫자 코드.
(예: 200 : 모두 정상)
header
필수. 응답할 콘텐츠에 맞는 헤더 정보.
[예제]
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('Homzzang.com');
res.end();
}).listen(8080);
Query 문자열 읽기
http.createServer() 메서드로 전달된 함수는 req 매개변수 갖음.
(예) http.createServer(function (req , res ) { ...
req
필수. http.IncomingMessage 객체처럼, 클라이언트의 요청을 의미.
※ 이 객체는 도메인 이름 뒤 URL 부분을 담은 "url " 속성을 갖음.
※ req.url 형식으로 해당 url 속성에 접근 가능.
[예제]
1.
아래 소스를 c:\User\사용자명\hz.js 파일로 저장.
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(req.url);
res.end();
}).listen(8080);
2.
아래 명령어로 Node.js 파일 시작 설정.
C:\Users\사용자명>node hz.js
3.
아래 주소로 각각 접속해 출력 결과 확인.
http://localhost:8080/summer
결과값: /summer
http://localhost:8080/winter
결과값: /winter
Query 문자열 분할
※ url.parse() 메서드 : URL 주소를 읽을 수 있는 단위로 분할.
※ url.parse() 메서드를 사용하려면, url 모듈 을 인클루드 필요.
※ parse() 메서드 반환 객체의 속성값 종류는 url() 모듈 예제 참고.
※ query 속성은 URL 주소의 쿼리 부분을 객체 형식으로 반환.
(예제) { open: 2012, site: 'homzzang.com' }
[구문]
var q = url.parse(req .url, true).query; // 객체 형식으로 반환.
[예제]
1.
아래 소스를 c:\User\사용자명\hz.js 파일로 저장.
var http = require('http');
var url = require('url');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
var q = url.parse(req.url, true).query;
var txt = q.open+ " " + q.site;
res.end(txt);
}).listen(8080);
2.
아래 명령어로 Node.js 파일 시작 설정.
C:\Users\사용자명>node hz.js
3.
아래 주소로 접속해 출력 결과 확인.
http://localhost:8080/?open=2012&site=homzzang.com
결과값: 2012 homzzang.com
PS. url 모듈 : https://homzzang.com/b/njs-7
주소 복사
랜덤 이동
최신댓글