ホームページ >ウェブフロントエンド >フロントエンドQ&A >Node.js を使用して Web ページにジャンプする方法
Node.js では、Web ページのジャンプは Web アプリケーションの一般的な機能です。これにより、ユーザーをあるページから別のページに移動し、新しいページのコンテンツを表示しながら URL とブラウザ履歴を更新できます。
この記事では、Node.js を使用して Web ページにジャンプする方法について説明します。次のトピックについて説明します。
基礎知識
Web ページジャンプの基本は HTTP リダイレクト
です。リダイレクトは、ブラウザに新しい URL をロードするように指示するために使用される HTTP 応答コードです。
一般的な HTTP リダイレクトには以下が含まれます:
Web ページにジャンプするには、応答コードと新しい URL を応答ヘッダーとして送信する必要があります。
Web ページのジャンプに Express.js を使用する
Express.js は、Node.js の中で最も人気のある Web フレームワークの 1 つであり、Web アプリケーションの構築を簡単にします。
Express.js では、res.redirect()
メソッドを通じて Web ページへのジャンプを実現できます。このメソッドは、リダイレクトされる URL を表す必須パラメーターを受け取ります。例:
app.get('/old-url', (req, res) => { res.redirect('/new-url'); });
これにより、ユーザーが /old-url
## にアクセスしたときに、ユーザーが /new-url# にリダイレクトされます。 Express.js は、302 リダイレクト応答コードを自動的に送信します。
app.get('/old-url', (req, res) => { res.redirect(301, '/new-url'); });これにより、デフォルトの一時リダイレクト (302) の代わりに永続リダイレクト (301) が使用されます。 Web ページのジャンプに純粋な Node.js を使用するExpress.js を使用したくない場合でも、Web ページのジャンプに純粋な Node.js を使用できます。 Web ページジャンプを実行するには、HTTP サーバーを作成し、HTTP 応答を送信する必要があります。 次は、ユーザーを
/old-url から
/new-url にリダイレクトする純粋な Node.js コードの例です:
const http = require('http'); const server = http.createServer((req, res) => { if (req.url === '/old-url') { res.writeHead(301, { 'Location': '/new-url' }); res.end(); } else { res.writeHead(200, { 'Content-Type': 'text/html' }); res.write('<h1>Hello, World!</h1>'); res.end(); } }); server.listen(3000);上記のコードでは、
res.writeHead() メソッドによって応答コードと
Location ヘッダーが設定され、ブラウザーに新しい URL が読み込まれます。
Open Redirect Vulnerability と呼ばれ、マルウェアの拡散やユーザー データの窃取によく使用されます。
以上がNode.js を使用して Web ページにジャンプする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。