
통신규칙
사용자가 통신에 접속할떄 어떤 방식으로 통신할 것인가에 대한 부분이다.
http는 하이퍼텍스트 트랜스퍼 프로토콜이라고 해서 웹브라우저 웹서버가 서로 데이터를 주고 받기 위해서 만든 통신규칙이다.
인터넷에 접속되어 있는 각각의 컴퓨터를 호스트라고 부른다.
3000번 포트에 연결되어 있는 서버와 통신하게 된다.
컴퓨터 안에 있는 어떤 디렉토리에 어떤 파일인지를 가르킨다.
웹서버에 어떤 데이터를 전달할 수 있다.
?id=HTML&page=12
내가 읽고 싶은 정보는 html이고 12페이지이다.
시작은 '?'로 하는걸로 약속되어있다.
값과 값은 '&'을 사용하기로 약속되어있다.
값의 이름과 값은 '='로 구분하기로 약속되어있다.
var http = require('http');
var fs = require('fs');
var url = require('url');
//여기서 http,fs,url은 모듈이라고 한다.
//모듈이라는 것은 node.js가 갖고 있는 수많은 기능들을 비슷한 것끼리 엮어 그룹핑하는 걸 모듈이라고 한다.
//var url = require('url'); -> 이말의 뜻은 url이라는 노드를 url이라는 변수를 통해서 사용한다는 뜻
var app = http.createServer(function(request,response){
var _url = request.url;
var queryData = url.parse(_url, true).query;
//이렇게 하면 querydata를 알 수 있다.
console.log(queryData)
if(_url == '/'){
_url = '/index.html';
}
if(_url == '/favicon.ico'){
response.writeHead(404);
response.end();
return;
}
response.writeHead(200);
console.log(__dirname + _url)
response.end(queryData.id);
// query string에 따라서 다른 정보를 출력한다.
});
app.listen(3000);