詳解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+socket.io實現(xiàn)p2p消息實時發(fā)送的項目實踐
本文主要介紹了nodejs+socket.io實現(xiàn)p2p消息實時發(fā)送,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06