* 저번 포스팅에서 node.js 로 웹서버를 구축한 뒤 다음과 같이 간단하게 'Hello World'가 띄워지는 웹페이지를 확인해보았다.

이번에는 html 파일을 이용해 웹페이지를 만들어볼 것이다.

 

 

1.  Express 설치

  • Express.js는 Node.js 를 편리하게 사용할 수 있는 웹 프레임워크를 뜻한다. 웹개발을 위한 다양한 기능을 제공한다고 한다.

  • Express를 설치하기 전에 'npm'이 미리 설치되어 있어야 한다.

    • npm 설치 : npm install -g express-generator

    • express 설치 : npm install express

2. 웹페이지에서 띄워줄 html 파일 작성하기

<!DOCTYPE html>
 
<head>
    <meta charset="UTF-8">
    <title>웹페이지 타이틀</title>
</head>
 <body>
    <p>Hello world!!!!!!!!!!!</p>
    <p>Hi!</p>
</body> 

 

3. 터미널로 실행시킬 js 파일 작성하기

var express = require('express');   // express framework 사용
var fs = require('fs');     // 파일 로드시 사용
var http = require('http'); // node 내장 모듈 불러옴

var app = express();
var hostname = '172.30.120.240'; // localhost
var port = 3000;


console.log('Server running at http://'+hostname+':'+port);
 
app.get('/', function (req, res) {
    fs.readFile('index.html', function(error, data){
        if(error){
            console.log('에러가 발생했습니다.');
        }else{
            console.log('웹페이지 실행!');
            res.writeHead(200, {'Content-Type': 'text/html'});
            res.end(data);
        }
    })
});

 
var server = app.listen(3000, function () {
  console.log('앱 로드 성공입니까 11');
});

 

4. 웹서버 실행하기

  • 터미널에 위 js 파일이 있는 경로로 들어가 'node 파일이름.jsp' 를 입력해 웹서버를 실행시킨다.
  • 아래와 같이 호스트 ip를 웹브라우저에 입력하면 제대로 띄워지는 것을 확인할 수 있다.

 

** 이제 옛날에 했던 html , css, javaScript 이용해서 페이지를 보기좋게 만들어주면 된다... 갈 길이 멀다...

*아이폰에서 webView 컨트롤 예제를 진행하기 위해 node.js 를 이용해 간단한 웹서버를 구축해보려 한다.

 서버에 대한 지식이 거의 0에 가깝지만 조금이라도 배울 수 있는 기회라 생각하고 프로젝트를 진행해 볼 것이다.

 

 

 

1. node.js 설치하기

  • 설치방법은 간단하다. (맥을 이용하고 있으므로, 맥 기준으로 정리하였다.)
    node.js 다운로드 사이트(https://nodejs.org/ko/download/)에서 설치하면 끝이다.

2. javaScript 로 웹서버를 구축하는 소스를 작성한다.

  • 컴파일러는 Visual Code를 이용하였다.

var http = require('http'); // node 내장 모듈 불러옴
var hostname = '172.30.120.240'; // localhost와 동일
var port = 3000;

http.createServer(function(req, res){
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Hello World\n');
}).listen(port, hostname);

console.log('Server running at http://'+hostname+':'+port);
  • 이 짧은 코드를 입력하면 웹서버 구축이 끝난다. (hostname 에는 본인의 ip를 입력해주면 된다.)
    (참고 : https://sanghaklee.tistory.com/)

 

3. 웹서버 구축 확인하기

  • 터미널에 위 js 파일이 저장된 폴더로 들어가 node test.js 명령어를 입력해준다.

           ((다음과 같은 값이 출력되면 서버가 잘 구축된 것이다.))

  • 웹브라우저에 본인 ip를 입력해 실행되는지 확인힌다.

 

* native 웹 통신 방법을 찾아보니 기본부터 이해해야 할 필요가 있어서 통신방법과 특징에 대해 간단하게 정리해보았다.

 

 

1.  HTTP 통신

클라이언트의 요청(request)이 있을 때만 서버가 응답(response)하고 곧바로 연결을 종료하는 단방향 통신 방식
  • sever에서 client 로 요청을 보낼 수 없음

  • HTTP 통신방법에는 GET 방식과 POST 방식 두 가지가 있다.

  • Socket 통신

    서버와 클라이언트가 특정 '포트'를 통해 실시간으로 양방향 통신을 하는 방식
    • 계속해서 연결을 유지하는 연결지향적 통신

    • 실시간 통신이 필요한 경우에 사용됨 (실시간 스트리밍 중계, 실시간 채팅 등)

GET 방식

  • 요청 데이터를 url에 담아서 보내는 방식.

  • 길이에 제한이 있고, 쿼리가 그대로 노출된다는 단점이 있다.

POST 방식

 

  • 요청 데이터를 HTTP 메세지의 body에 담아 보내는 방식

  • 길이 제한이 없고, 요청 데이터가 노출되진 않지만 추가적으로 보안에 신경써줘야 한다.

 

 

 

 

2. Socket 통신

서버와 클라이언트가 특정 '포트'를 통해 실시간으로 양방향 통신을 하는 방식
    • 계속해서 연결을 유지하는 연결지향적 통신

    • 실시간 통신이 필요한 경우에 사용됨 (실시간 스트리밍 중계, 실시간 채팅 등)

+ Recent posts