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. # 客户端请求信息