2016-06-27 4 views
1

私はこのHTTP nodeJSサーバーを持っていますが、私がURLにアクセスすると常に2回出力されます。私はhttp://localhost:8000?id=donot-match を開いたときにNodeJS - 一度のマッチング方法は?

const https = require('http'); 
const fs = require('fs'); 
const url = require('url'); 

https.createServer((req, res) => { 
    res.writeHead(200); 

    try { 
    var query =url.parse(req.url,true).query; 
    if(query.id=='1') { 
     console.log('OK matched'); 
    } else { 
     console.log('No match'); 
    } 

    res.end("req " + query.id); 
    }catch(e) { 
    console.log(e); 
    } 
}).listen(8000); 

は今、それを2回出力します。一致するものが見つかった場合

No match 
No match 

それはまだアクションが一度だけ発生したことを確認する方法

OK matched 
No match 

を出力しますか? (一致しない場合は、実行しなければならないいくつかのexeファイルを実行する必要があります)

+0

本当にあなたのアプリケーションで上記のルーティング戦略を使用しますか? – undefined

+0

実際には、私はユーザー名とパスワードのバリデーションを最初にしてから残りをそのまましたい。だからGETのURLに私はあなたのユーザー名/パスワードを3番目のパラメータIDが一致していなければならないし、他の許可される必要があります。または.htpasswdのようなポップアップ? – YumYumYum

答えて

6

ブラウザでこれを押すと、ブラウザーがfaviconを要求している可能性があります。

+0

はい - Googleクロム/クロム私はそのURLを使用しています。私はプログラムfaviconをブロックする必要がありますが、どのように私のサーバーに来るfaviconの要求があることを知っていますか? – YumYumYum

+1

@ YumYumYumこれらのリクエストを個別に処理する必要があります。一致しない場合は、404を返すだけです。 –

+0

OK - ありがとうございます。 – YumYumYum

関連する問題