কম্পিউটার

JSON-এর জন্য সঠিক কন্টেন্ট-টাইপ কি? অনুরোধ হেডার মাইম টাইপ ব্যাখ্যা করা হয়েছে

ইন্টারনেটে ব্যবহৃত প্রতিটি সম্পদের একটি মিডিয়া টাইপ থাকে, এটি একটি MIME টাইপ নামেও পরিচিত যা মাল্টিপারপাস ইন্টারনেট মেল এক্সটেনশনকে বোঝায়। সার্ভার এবং ক্লায়েন্টের মধ্যে লেনদেনের জন্য এই তথ্যটি প্রয়োজনীয়৷

ব্রাউজারকে এটিতে পাঠানো মিডিয়া প্রকারের সংস্থানগুলি জানতে হবে যাতে এটি তাদের সঠিকভাবে পরিচালনা করতে পারে৷

একই সার্ভারের জন্য যায়. সঠিক পার্সিং এবং প্রক্রিয়াকরণের জন্য এটিতে পাঠানো সংস্থানগুলির ধরণ জানতে হবে৷

কন্টেন্ট-টাইপ কোথায় ঘোষণা করা হয়?

Content-Type-এ যেকোন রিসোর্সের মিডিয়া টাইপ ঘোষণা করা হয় অনুরোধ শিরোনামের বৈশিষ্ট্য (ক্লায়েন্টে, সার্ভারে অনুরোধ করার সময়) বা প্রতিক্রিয়া শিরোনামে (সার্ভারে, প্রতিক্রিয়া পাঠানোর সময়)।

কোনো সম্পদের বিষয়বস্তুর ধরন স্পষ্টভাবে ঘোষণা না করে, ক্লায়েন্ট স্বয়ংক্রিয়ভাবে ধরন সনাক্ত করার চেষ্টা করতে পারে, কিন্তু ফলাফল সঠিক নাও হতে পারে। এই কারণেই এটি স্পষ্টভাবে ঘোষণা করা গুরুত্বপূর্ণ।

মিডিয়ার ধরন

মিডিয়ার ধরন বিভিন্ন আকারে বিদ্যমান। তারা বিভিন্ন গ্রুপে শ্রেণীবদ্ধ করা হয়েছে:

  • আবেদন
  • অডিও
  • ফন্ট
  • উদাহরণ
  • ছবি
  • বার্তা
  • মডেল
  • মাল্টিপার্ট
  • পাঠ্য
  • এবং ভিডিও

এই বিভাগগুলিরও তাদের প্রকার রয়েছে। উদাহরণস্বরূপ, application/json application এর অধীনে একটি প্রকার এবং text/html text এর অধীনে একটি প্রকার .

আপনি IANA (ইন্টারনেটের কিছু মূল উপাদানগুলির সমন্বয় করে এমন একটি সংস্থা) মিডিয়া প্রকারের মিডিয়া প্রকারের একটি সম্পূর্ণ তালিকা খুঁজে পেতে পারেন৷

এই সমস্ত প্রকারের বিভিন্ন ধরনের ডেটা যেমন টেক্সট, অডিও, ইমেজ, এইচটিএমএল, এবং আরও অনেক ধরনের যা ইন্টারনেট জুড়ে ব্যবহৃত হয়।

ব্রাউজারকে একটি সংস্থানের মিডিয়া প্রকার জানতে হবে

আমি উপরে উল্লিখিত হিসাবে, ব্রাউজার এটি কি ধরনের সামগ্রী গ্রহণ করে তা জানতে হবে। এটি বোঝানোর জন্য এখানে একটি উদাহরণ দেওয়া হল৷

নিম্নলিখিত কোডটি একটি নোড সার্ভার যা একটি HTML ফাইল পরিবেশন করে:

const http = require("http");
const fs = require("fs");
const path = require("path");

const server = http.createServer(function (req, res) {
	const filePath = path.join(__dirname, "index.html");
	var stat = fs.statSync(filePath);

	res.writeHead(200, {
		"Content-Type": "text/css",
		"Content-Length": stat.size,
	});

	const readStream = fs.createReadStream(filePath);
	readStream.pipe(res);
});

server.listen(5000);

console.log("Node.js web server at port 5000 is running..");

কোডের সুনির্দিষ্ট বিষয়ে চিন্তা করবেন না। আপনি শুধু index.htm নিয়ে চিন্তিত ফাইলটি আমরা পরিবেশন করছি এবং সেটি Content-Type হল text/css .

এখানে index.html এর বিষয়বস্তু :

<h1>Homepage</h1>

অবশ্যই, একটি HTML নথি একটি CSS ফাইল থেকে আলাদা। এই হল localhost:5000-এ ফলাফল যখন সার্ভার শুরু হয়:

JSON-এর জন্য সঠিক কন্টেন্ট-টাইপ কি? অনুরোধ হেডার মাইম টাইপ ব্যাখ্যা করা হয়েছে

এছাড়াও আপনি DevTools-এর নেটওয়ার্ক ট্যাবে হেডার চেক করে প্রাপ্ত প্রতিক্রিয়া নিশ্চিত করতে পারেন।

এখানে একটি Chrome ব্রাউজারে ফলাফল:

JSON-এর জন্য সঠিক কন্টেন্ট-টাইপ কি? অনুরোধ হেডার মাইম টাইপ ব্যাখ্যা করা হয়েছে

ব্রাউজারটি একটি CSS প্রকার হিসাবে বিষয়বস্তু পেয়েছে, তাই, এটি এটিকে CSS হিসাবে বিবেচনা করার চেষ্টা করেছে৷

এছাড়াও, মনে রাখবেন যে ব্রাউজার দ্বারা প্রাপ্ত সামগ্রীর প্রকারের সম্পূর্ণ জ্ঞান নিরাপত্তার দুর্বলতাগুলিকেও কমিয়ে দেয় কারণ ব্রাউজার সেই ডেটার জন্য নিরাপত্তা মানগুলি রাখে৷

এখন আপনি MIME প্রকারের ধারণা এবং তাদের গুরুত্ব বুঝতে পেরেছেন, আসুন JSON-এ যাই।

JSON-এর জন্য সঠিক কন্টেন্ট-টাইপ

JSON সঠিকভাবে ব্যবহার করার জন্য ব্রাউজার দ্বারা সঠিকভাবে ব্যাখ্যা করতে হবে। text/plain সাধারণত JSON-এর জন্য ব্যবহার করা হত, কিন্তু IANA অনুসারে, JSON-এর জন্য অফিসিয়াল MIME প্রকার হল application/json .

এর মানে হল আপনি যখন সার্ভারে JSON পাঠাচ্ছেন বা সার্ভার থেকে JSON গ্রহণ করছেন, আপনার সর্বদা Content-Type ঘোষণা করা উচিত হেডারের application/json হিসাবে যেহেতু এটি এমন মান যা ক্লায়েন্ট এবং সার্ভার বোঝে।

উপসংহার

উপরে উল্লিখিত হিসাবে, সার্ভারকে (ঠিক ব্রাউজারের মতো) এটিতে পাঠানো ডেটার ধরণ জানতে হবে, বলুন, একটি POST অনুরোধে। এটাই হল forms ফাইলের সাথে সাধারণত enctype থাকে multipart/form-data এর মান সহ বৈশিষ্ট্য .

অনুরোধটি এইভাবে এনকোডিং ছাড়া, POST অনুরোধটি কাজ করবে না। এছাড়াও, একবার সার্ভার জানতে পারে যে এটি কী ধরনের ডেটা পেয়েছে, তখন এটি এনকোড করা ডেটা পার্স করতে জানে৷

এই নিবন্ধে, আমরা MIME প্রকার এবং তাদের উদ্দেশ্য কী তা দেখেছি। এছাড়াও, আমরা JSON-এর জন্য অফিসিয়াল কন্টেন্ট টাইপ দেখেছি। আমি আশা করি আপনি এখন জানেন যে কেন ইন্টারনেট ব্যবহার করার সময় সম্পদের ধরন ঘোষণা করা গুরুত্বপূর্ণ।


  1. এটা কি, এটা কিসের জন্য এবং কিভাবে ওয়াইফাই মেশ নেটওয়ার্ক কাজ করে?

  2. মাইক্রোসফট 365 কি? অফিস 365 এর নতুন মুখ ব্যাখ্যা করা হয়েছে

  3. আপনার নেক্সটক্লাউড সার্ভারের জন্য ইনস্টল করার জন্য সেরা অ্যাপগুলির মধ্যে 5টি

  4. "পিং" কী এবং এটি কীভাবে ইন্টারনেটকে প্রভাবিত করে?