Node.js學習——HTTP

HTTP

Node.js開發的目的就是爲了用JavaScript編寫Web服務器程序。由於JavaScript實際上已經統治了瀏覽器端的腳本,其優點就是有世界上數量最多的前端開發人員。若是已經掌握了JavaScript前端開發,再學習一下如何將JavaScript應用在後端開發,就是名副其實的全棧了。javascript

HTTP協議

HTTP服務器

要開發HTTP服務器程序,從頭處理TCP鏈接,解析HTTP是不現實的。這些工做實際上已經由Node.js自帶的http模塊完成了。應用程序並不直接和HTTP協議打交道,而是操做http模塊提供的requestresponse對象。html

request對象封裝了HTTP請求,咱們調用request對象的屬性和方法就能夠拿到全部HTTP請求的信息;前端

response對象封裝了HTTP響應,咱們操做response對象的方法,就能夠把HTTP響應返回給瀏覽器。java

用Node.js實現一個HTTP服務器程序很是簡單。咱們來實現一個最簡單的Web程序hello.js,它對於全部請求,都返回Hello world!node

'use strict';

// 導入http模塊:
var http = require('http');

// 建立http server,並傳入回調函數:
var server = http.createServer(function (request, response) {
    // 回調函數接收request和response對象,
    // 得到HTTP請求的method和url:
    console.log(request.method + ': ' + request.url);
    // 將HTTP響應200寫入response, 同時設置Content-Type: text/html:
    response.writeHead(200, {'Content-Type': 'text/html'});
    // 將HTTP響應的HTML內容寫入response:
    response.end('<h1>Hello world!</h1>');
});

// 讓服務器監聽8080端口:
server.listen(8080);

console.log('Server is running at http://10.138.253.3:8080/');

在命令提示符下運行該程序,能夠看到如下輸出:後端

$ node http_test.js 
Server is running at http://10.138.253.3:8080/

不要關閉命令提示符,直接打開瀏覽器輸入http://localhost:8080,便可看到服務器響應的內容:瀏覽器

http-hello-sample

同時,在命令提示符窗口,能夠看到程序打印的請求信息:服務器

GET: /
GET: /favicon.ico

這就是咱們編寫的第一個HTTP服務器程序!函數

相關文章
相關標籤/搜索