আমি একটি শিক্ষানবিস Express.js
এবং আমি এই দুটি কীওয়ার্ড দ্বারা বিভ্রান্ত: res.end()
এবং res.send()
।
তারা কি একই বা ভিন্ন?
আমি একটি শিক্ষানবিস Express.js
এবং আমি এই দুটি কীওয়ার্ড দ্বারা বিভ্রান্ত: res.end()
এবং res.send()
।
তারা কি একই বা ভিন্ন?
উত্তর:
res.send()
HTTP প্রতিক্রিয়া প্রেরণ করবে। এর বাক্য গঠনটি হ'ল,
res.send([body])
বডি প্যারামিটার একটি বাফার অবজেক্ট, একটি স্ট্রিং, অবজেক্ট বা অ্যারে হতে পারে। উদাহরণ স্বরূপ:
res.send(new Buffer('whoop'));
res.send({ some: 'json' });
res.send('<p>some html</p>');
res.status(404).send('Sorry, we cannot find that!');
res.status(500).send({ error: 'something blew up' });
দেখুন এই আরও তথ্যের জন্য।
res.end()
প্রতিক্রিয়া প্রক্রিয়া শেষ হবে। এই পদ্ধতিটি আসলে নোড কোর থেকে আসে, বিশেষত response.end()
পদ্ধতিটি http.ServerResponse
। এটি কোনও ডেটা ছাড়াই দ্রুত প্রতিক্রিয়া শেষ করতে ব্যবহৃত হয়। উদাহরণ স্বরূপ:
res.end();
res.status(404).end();
পড়ুন এই আরও তথ্যের জন্য।
express
তবে শিরোনাম থেকে মনে হয়েছে - কেউ কিছু প্রেরণ করে, কেউ কিছু শেষ করে দেয় ... 'দ্বিগুণ।
res.send()
কিছুই না দিয়ে কেবল ব্যবহার করেন। এই মত কাজ করে res.end()
?
আমি মাঝে কিছু মূল পার্থক্য একটি সামান্য বিট বেশি জোর করতে চাই res.end()
& res.send()
প্রতিক্রিয়া হেডার থেকে সম্মান এবং কেন তারা গুরুত্বপূর্ণ সঙ্গে।
১. পুনঃ বিক্রয় () আপনার আউটপুটটির কাঠামো যাচাই করবে এবং সেই অনুসারে শিরোনামের তথ্য সেট করবে।
app.get('/',(req,res)=>{
res.send('<b>hello</b>');
});
app.get('/',(req,res)=>{
res.send({msg:'hello'});
});
যেখানে রেস.এন্ড () সহ আপনি কেবল পাঠ্য দিয়ে সাড়া দিতে পারবেন এবং এটি " সামগ্রী-প্রকার " সেট করবে না
app.get('/',(req,res)=>{
res.end('<b>hello</b>');
});
২. res.send () প্রতিক্রিয়া শিরোনামে "ETag" বৈশিষ্ট্য সেট করবে
app.get('/',(req,res)=>{
res.send('<b>hello</b>');
});
Tag এই ট্যাগটি গুরুত্বপূর্ণ কেন?
ইটাগ এইচটিটিপি রেসপন্স শিরোনাম একটি সংস্থার নির্দিষ্ট সংস্করণের জন্য সনাক্তকারী। এটি ক্যাশেগুলিকে আরও দক্ষ হতে দেয় এবং ব্যান্ডউইথকে বাঁচায়, কারণ কোনও বিষয়বস্তু পরিবর্তন না হলে কোনও ওয়েব সার্ভারকে পূর্ণ প্রতিক্রিয়া প্রেরণের প্রয়োজন হয় না।
res.end()
এই শিরোনাম বৈশিষ্ট্য সেট করবে না
res.send () যা করে তা হ'ল res.writ , res.setHeeda এবং res.end প্রয়োগ করা ।
এটি আপনি যা ডেটা প্রেরণ করেন এবং সঠিক শিরোনাম সেট করে তা পরীক্ষা করে check
তারপরে এটি পুনরায় লেখার সাথে ডেটা প্রবাহিত করে এবং শেষে এটি অনুরোধের শেষ সেট করতে res.end ব্যবহার করে।
কিছু ক্ষেত্রে রয়েছে যা আপনি নিজেই এটি করতে চাইবেন উদাহরণস্বরূপ, আপনি যদি স্ট্রিম ফাইল বা একটি বৃহত ডেটা সেট সেট করতে চান তবে এই ক্ষেত্রে আপনি নিজের দ্বারা শিরোনাম সেট করতে চান এবং স্ট্রিমটি বজায় রাখতে পুনরায় রাইটারটি ব্যবহার করতে পারবেন প্রবাহিত।
res.end
সরল নোড যেখানেres.send
এক্সপ্রেস ফ্রেমওয়ার্ক দ্বারা ব্যবহৃত হয়