Alındığı almak yerine bir BAŞ isteği gerçekleştirmek için gereken, bu HTTP HEAD, kullanmak en iyisidir hangi Sadece gövde olmadan sunucudan yanıt başlıkları döndürür.
Böyle node.js bir HEAD isteği yapabilirsiniz:
var http = require("http"),
// make the request over HTTP HEAD
// which will only return the headers
requestOpts = {
host: "www.google.com",
port: 80,
path: "/images/srpr/logo4w.png",
method: "HEAD"
};
var request = http.request(requestOpts, function (response) {
console.log("Response headers:", response.headers);
console.log("File size:", response.headers["content-length"]);
});
request.on("error", function (err) {
console.log(err);
});
// send the request
request.end();
DÜZENLEME:
ben gerçekten nasıl" temelde soru, cevap vermedi fark Node.js'de bir isteği erken sonlandırıyorum? " Sen) (response.destroy çağırarak işleme ortasında herhangi bir isteği kesebilirler:
var request = http.get("http://www.google.com/images/srpr/logo4w.png", function (response) {
console.log("Response headers:", response.headers);
// terminate request early by calling destroy()
// this should only fire the data event only once before terminating
response.destroy();
response.on("data", function (chunk) {
console.log("received data chunk:", chunk);
});
});
Yoketmek() çağrısını dışında yorum ve tam istekte iki parçalar döndürülür olduğunu gözlemleyerek bu test edebilirsiniz. Bununla birlikte, başka yerlerde belirtildiği gibi, HTTP HEAD'sini kullanmak daha verimlidir.
Teşekkürler, cevap için. Response.end() 'den nasıl farklıdır ve bunu ne zaman kullanmalıyım? – Tushar
Bir şey daha, eğer 'veri' olayına bir dinleyici bağlamazsam, veriler hala aktarılacak mı? Yani bant genişliğim gereksiz yere boşa harcanacak mı? – Tushar
Evet, "veri" olayını işlemeseniz bile veriler yine de müşteriye gönderilir. –