私の nodeJS アプリでは、クライアントに返すすべてのコンテンツの ETag を生成したいと考えています。日付ではなく、ファイルの実際の内容に基づいて ETag を作成する必要があります。これにより、異なるノード プロセス間で同じファイルが同じ ETag を持つようになります。
現在、私は次のことを行っています。
var fs = require('fs'), crypto = require('crypto');
fs.readFile(pathToFile, function(err, buf){
var eTag = crypto.createHash('md5').update(buf).digest('hex');
res.writeHead(200, {'ETag': '"' + eTag + '"','Content-Type':contentType});
res.end(buf);
});
適切なシステムを導入するために、さまざまな暗号化機能にどのエンコーディングを使用する必要があるかわかりません。以外のものを使用する必要がありhex
ますか?fs.readFile
16 進数でエンコードされたバッファーを返す呼び出しを取得する必要がありますか? その場合、ユーザーに返されるコンテンツに影響はありますか?
最高、そしてありがとう、
サミ