詳解Node.js實現(xiàn)301、302重定向服務(wù)
在Web應(yīng)用中,有時會遇到頁面需要Url重定向的情況。Url重定向分為301、302兩種。301、302都是HTTP狀態(tài)的編碼,都代表著某個Url發(fā)生了轉(zhuǎn)移。不同的是301重定向是永久的重定向(Moved Permanently),表示本網(wǎng)頁永久性轉(zhuǎn)移到另一個地址,搜索引擎在抓取新內(nèi)容的同時也將舊的網(wǎng)址替換為重定向之后的網(wǎng)址。302重定向是臨時的重定向(Moved Temporarily),表示本網(wǎng)頁暫時性轉(zhuǎn)移到另一個地址,搜索引擎會抓取新的內(nèi)容而保留舊的網(wǎng)址。
可以用Nodejs的http模塊,實現(xiàn)一個301或302重定服務(wù),實現(xiàn)代碼如下:
實現(xiàn)301重定向服務(wù):
var http = require('http');
var server = http.createServer(function (req, res) {
res.writeHead(301, {'Location': 'http://itbilu.com/'});
console.log(res._header);
res.end();
});
server.listen(3100)
Log打印結(jié)果為:
HTTP/1.1 301 Moved Permanently Location: http://itbilu.com/ Date: Mon, 27 Apr 2015 05:39:47 GMT Connection: keep-alive Transfer-Encoding: chunked
實現(xiàn)302重定向服務(wù):
var http = require('http');
var server = http.createServer(function (req, res) {
res.writeHead(302, {'Location': 'http://itbilu.com/'});
console.log(res._header);
res.end();
});
server.listen(3100)
Log打印結(jié)果為:
HTTP/1.1 302 Moved Temporarily Location: http://itbilu.com/ Date: Mon, 27 Apr 2015 05:40:51 GMT Connection: keep-alive Transfer-Encoding: chunked
由上可見,瀏覽器會跟根據(jù)301和302狀態(tài)碼,跳轉(zhuǎn)到Location對應(yīng)的網(wǎng)址中。Node.js在設(shè)置301和302狀態(tài)時,還自動加入了Moved Permanently或Moved Temporarily狀態(tài)描述。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
NodeJS學(xué)習(xí)筆記之(Url,QueryString,Path)模塊
今天我們來看一下在nodejs中路徑的相關(guān)操作方法。在我們開發(fā)過程中路徑主要有:URL路徑,在瀏覽器中進(jìn)行使用,當(dāng)然這個也包含查詢字符串QueryString的相關(guān)操作;而另一種是磁盤路徑,主要用于文件等等進(jìn)行操作,我們稱為Path,所以我將它們放在一起進(jìn)行總結(jié)學(xué)習(xí)。2015-01-01
Node.js利用Net模塊實現(xiàn)多人命令行聊天室的方法
Node.js Net 模塊提供了一些用于底層的網(wǎng)絡(luò)通信的小工具,包含了創(chuàng)建服務(wù)器/客戶端的方法,下面這篇文章主要給大家介紹了Node.js利用Net模塊實現(xiàn)命令行多人聊天室的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-12-12

