官方手冊: http://nodejs.cn/api/
http 模塊
- http 模塊主要是用于創(chuàng)建一個能夠處理和響應(yīng) http 響應(yīng)的服務(wù)
// 1. 引入http模塊
const http = require("http");
// 2. 創(chuàng)建http服務(wù) 并監(jiān)聽端口, 這里的端口可以修改
http.createServer((request, response) => {
response.end('hello node');
}).listen(3000);
此時,用瀏覽器訪問
127.0.0.1:3000
或者localhost:3000
就可以看到hello node
, 服務(wù)開啟成功了
request 和 response
- request 請求對象
- response 響應(yīng)對象
獲取請求信息
-
require.url
獲取請求路徑 -
request.httpVersion
獲取協(xié)議的版本 -
request.method
獲取請求的方式(get
post
) -
request.headers
獲取請求頭
const http = require("http");
http.createServer((request, response) => {
// 1. 獲取請求的路徑(就是域名后的.)
url = request.url;
// 2. 獲取 http 協(xié)議的版本
version = request.httpVersion;
// 3. 獲取請求方式
method = request.method;
// 4. 獲取請求頭信息(object)
headers = request.headers;
response.end('over');
}).listen(3000);
設(shè)置響應(yīng)信息
-
response.setHeader()
設(shè)置響應(yīng)頭 -
response.write()
設(shè)置響應(yīng)信息 -
response.end()
響應(yīng)結(jié)束
const http = require("http");
http.createServer((request, response) => {
// 1. 設(shè)置響應(yīng)頭
response.setHeader("content-type", "text/html; charset=utf8");
// 2. 設(shè)置響應(yīng)信息
response.write("這是響應(yīng)體信息...");
// 3. 結(jié)束響應(yīng)
response.end('<h1>響應(yīng)結(jié)束</h1>');
}).listen(3000);
url 模塊的使用
- 首先來看一個完整的
url
包含哪些信息
- 獲取
url
相關(guān)信息
const http = require("http");
const url = require("url");
http.createServer((request, response) => {
// let myUrl = url.parse(request.url); // 把reques.url轉(zhuǎn)換為一個URL對象
let myUrl = url.parse(request.url, true);
// 把reques.url轉(zhuǎn)換為一個URL對象,并且將query,search等屬性轉(zhuǎn)換為對象
console.log("url對象:", myUrl);
console.log("hash:"+myUrl.hash); // 獲取myUrl 的hash部分(在vue和react中有的是用hash) #test
console.log("host:"+myUrl.host); // 獲取myUrl中包括端口的域名部分 http://www.test.com:80
console.log("hostname:"+myUrl.hostname); // 獲取myUrl中的域名部分 http://www.test.com
console.log("path:"+myUrl.path); // 獲取路徑部分 /a/b?id=10
console.log("port:"+myUrl.port); // 獲取myUrl端口 80 8080
console.log("search:"+myUrl.search); // 獲取請求的參數(shù) ?id=10
response.end('Responses');
}).listen(3000);