http://aaa.com:3000/main?page=2&id=1234
http?
http
HyperText Transfer Protocol
통신규칙
host?(domain)
aaa.com
네트워크에 연결된 특정한 컴퓨터의 주소
port?
3000
한 컴퓨터에 여러 서버가 있을 때 특정 포트에 연결된 서버로 접속하도록 지정한다.
port 번호를 생략할 경우 80
으로 지정한 것으로 생각하고 접속한다.
path?
main
컴퓨터 안의 어떤 directory에 있는 파일인지 나타냄
query string?
page=2&id=1234
웹 서버에 데이터를 전달.
시작은 ?
로, 값과 값은 &
로 구분
page가 2이고 id가 1234이다.
var http = require('http');
var fs = require('fs');
var url = require('url');
var app = http.createServer(function(request,response){
var _url = request.url;
var queryData = url.parse(_url, true).query;
console.log(queryData.id,'id')
console.log(queryData.name,'name')
if(_url == '/'){
_url = '/index.html';
}
if(_url == '/favicon.ico'){
return response.writeHead(404);
}
response.writeHead(200);
response.end(fs.readFileSync(__dirname + _url)); // 이부분이 화면에 불러올 것을 지정한다.
});
app.listen(3000);
response.end(fs.readFileSync(__dirname + _url));
대신
response.end(queryData.id)
를 입력하면 url에 입력한 id값이 브라우저에 나온다.