Latest web development tutorials

Node.js를 웹 모듈

웹 서버는 무엇입니까?

웹 서버는 일반적으로 인터넷은 컴퓨터 프로그램의 일부 유형을 의미에서 사이트 서버에 상주 웹 서버의 기본 기능은 웹 브라우징 서비스 정보를 제공하는 것이다 말한다. 그것은 단지 HTTP 프로토콜 HTML 문서 형식 및 URL과 함께 클라이언트의 웹 브라우저를 지원한다.

대부분의 웹 서버 등의 서버 측 스크립트 언어 (PHP, 파이썬, 루비)를 지원하고, 스크립트 언어를 통해 데이터베이스에서 데이터를 가져 오기 위해, 결과는 클라이언트 브라우저에 돌려 보냈다.

세 대부분의 주요 웹 서버는 아파치, Nginx에있다, IIS.


웹 응용 프로그램 아키텍처

  • 클라이언트 - 클라이언트는 일반적으로 브라우저는 HTTP 프로토콜을 통해 서버에 데이터를 요청할 수 있고, 브라우저를 말한다.

  • 서버 - 서버는 일반적으로 웹 서버를 지칭 클라이언트는 클라이언트 데이터에 대한 응답을 전송 요청을 수신 할 수있다.

  • 비즈니스 - 비즈니스 계층 같은 외부 프로 시저를 호출하는 데이터베이스 로직과 상호 작용하는 웹 서버 어플리케이션 처리부를 통해.

  • 데이터 - 데이터 층은 일반적으로 데이터베이스에 의해 구성.


웹 서버 사용 노드 만들기

Node.js를 다음과 같이 코드는, HTTP 모듈은 주로 HTTP 서버 또는 클라이언트 기능을 사용하여 HTTP 서버와 클라이언트를 구축하기 위해 사용되는 HTTP 모듈을 호출해야 HTTP 모듈을 제공한다 :

var http = require('http');

다음은합니다 (8081 포트 사용) 기본 HTTP 서버 아키텍처의 데모입니다 server.js 파일을 작성, 다음과 같이 코드입니다 :

var http = require('http');
var fs = require('fs');
var url = require('url');


// 创建服务器
http.createServer( function (request, response) {  
   // 解析请求,包括文件名
   var pathname = url.parse(request.url).pathname;
   
   // 输出请求的文件名
   console.log("Request for " + pathname + " received.");
   
   // 从文件系统中读取请求的文件内容
   fs.readFile(pathname.substr(1), function (err, data) {
      if (err) {
         console.log(err);
         // HTTP 状态码: 404 : NOT FOUND
         // Content Type: text/plain
         response.writeHead(404, {'Content-Type': 'text/html'});
      }else{	         
         // HTTP 状态码: 200 : OK
         // Content Type: text/plain
         response.writeHead(200, {'Content-Type': 'text/html'});	
         
         // 响应文件内容
         response.write(data.toString());		
      }
      //  发送响应数据
      response.end();
   });   
}).listen(8081);

// 控制台会输出以下信息
console.log('Server running at http://127.0.0.1:8081/');

다음과 같이 다음에 우리는, 디렉토리에서 index.htm 파일을 만듭니다

<html>
<head>
<title>Sample Page</title>
</head>
<body>
Hello World!
</body>
</html>

행정 server.js 파일 :

$ node server.js
Server running at http://127.0.0.1:8081/

그런 다음 우리는 귀하의 브라우저에 주소를 넣어 : HTTP : //127.0.0.1 : 8081 / index.htm으로, 아래와 같이 표시 :

다음과 같이 집행 server.js 콘솔 출력 정보는 다음과 같습니다

Server running at http://127.0.0.1:8081/
Request for /index.htm received.     #  客户端请求信息

지프의 예를 보여


사용 노드 만들기 웹 클라이언트

웹 클라이언트를 만들기 노드가 client.js 파일을 작성, HTTP 모듈 소개 할 필요가 다음과 같이 코드는 :

var http = require('http');

// 用于请求的选项
var options = {
   host: 'localhost',
   port: '8081',
   path: '/index.htm'  
};

// 处理响应的回调函数
var callback = function(response){
   // 不断更新数据
   var body = '';
   response.on('data', function(data) {
      body += data;
   });
   
   response.on('end', function() {
      // 数据接收完成
      console.log(body);
   });
}
// 向服务端发送请求
var req = http.request(options, callback);
req.end();

다음과 같이 새로운 터미널을 열고 client.js 파일을 실행, 출력 결과는 다음과 같습니다

$ node client.js
<html>
<head>
<title>Sample Page</title>
</head>
<body>
Hello World!
</body>
</html>

다음과 같이 집행 server.js 콘솔 출력 정보는 다음과 같습니다

Server running at http://127.0.0.1:8081/
Request for /index.htm received.   # 客户端请求信息

지프의 예를 보여