首先說一下,咱們平時在瀏覽器上訪問網頁,所看到的內容,實際上是web服務器傳過來的,好比咱們訪問www.baidu.com.當咱們在瀏覽器地址欄輸入以後,瀏覽器會發送請求到web服務器,而後web服務器根據請求所攜帶的信息,返回內容。html
那麼,nodejs中的http模塊,就是用來搭建web服務器用的。node
下面來簡單的搭建一個服務器:web
var http = require("http"); //request:是請求參數,攜帶這請求所帶來的信息。response:是響應參數,攜帶者將要返回到瀏覽器的信息,這兩個參數都是流的實例 var server = http.createServer(function(request,response){ console.log("request received"); //response的writeHead是寫響應的頭部信息的,第一個參數是狀態碼,第二個參數是一個對象,裏面能夠寫一些返回到瀏覽器的信息,好比Content-Type:指定的是返回瀏覽器的是什麼內容,好比圖片、html、json、pdf、純文本等 //瀏覽器會根據服務器返回的頭信息,去想着如何渲染 response.writeHead(200,{"Content-Type":"text/plain"});//text/plain:表明傳回的是純文本 response.write("hello from out application");//將內容寫在write的參數裏,傳回瀏覽器 response.end();//加一個end方法,表示響應結束了 }) //最後讓服務器監聽一個端口 server.listen(3000); console.log("server started on localhost port 3000");//加一個服務器啓動起來的提示
而後在終端執行node app 將服務器運行起來json
以後,在瀏覽器是輸入localhost:3000 發現頁面你上會出現,咱們響應參數的write方法中的內容!!!瀏覽器
listen也能夠傳第二個參數,ip服務器
返回給瀏覽器的內容也能夠寫在response的end方法裏:app
var http = require("http"); //request:是請求參數,攜帶這請求所帶來的信息。response:是響應參數,攜帶者將要返回到瀏覽器的信息,這兩個參數都是流的實例 var server = http.createServer(function(request,response){ console.log("request received"); //response的writeHead是寫響應的頭部信息的,第一個參數是狀態碼,第二個參數是一個對象,裏面能夠寫一些返回到瀏覽器的信息,好比Content-Type:指定的是返回瀏覽器的是什麼內容,好比圖片、html、json、pdf、純文本等 //瀏覽器會根據服務器返回的頭信息,去想着如何渲染 response.writeHead(200,{"Content-Type":"text/plain"});//text/plain:表明傳回的是純文本 // response.write("hello from out application");//將內容寫在write的參數裏,傳回瀏覽器 response.end("hello from out application");//加一個end方法,表示響應結束了 }) //最後讓服務器監聽一個端口 server.listen(3000,"127.0.0.1");//還能夠加第二個參數 127.0.0.1表明的是本地 console.log("server started on localhost port 3000");//加一個服務器啓動起來的提示
還有人將http.createServer中的函數抽出來,這樣寫:函數
var http = require("http"); //request:是請求參數,攜帶這請求所帶來的信息。response:是響應參數,攜帶者將要返回到瀏覽器的信息,這兩個參數都是流的實例 var onRequest = function(request,response){ console.log("request received"); //response的writeHead是寫響應的頭部信息的,第一個參數是狀態碼,第二個參數是一個對象,裏面能夠寫一些返回到瀏覽器的信息,好比Content-Type:指定的是返回瀏覽器的是什麼內容,好比圖片、html、json、pdf、純文本等 //瀏覽器會根據服務器返回的頭信息,去想着如何渲染 response.writeHead(200,{"Content-Type":"text/plain"});//text/plain:表明傳回的是純文本 // response.write("hello from out application");//將內容寫在write的參數裏,傳回瀏覽器 response.end("hello from out application");//加一個end方法,表示響應結束了 } var server = http.createServer(onRequest); //最後讓服務器監聽一個端口 server.listen(3000,"127.0.0.1");//還能夠加第二個參數 127.0.0.1表明的是本地 console.log("server started on localhost port 3000");//加一個服務器啓動起來的提示
萬變不離其中ui