অজানা ফাইল টাইপ?


140

যদি আপলোড করা ফাইলটির কোনও এক্সটেনশান না থাকে তবে আমার কি কোনও মাইম টাইপ নির্দিষ্ট করতে হবে? অন্য কথায় ডিফল্ট জেনারেল এমআইএমএম টাইপ কি আছে?

উত্তর:


184

আপনি application/octet-streamঅজানা প্রকারের জন্য ব্যবহার করতে পারেন ।

আরএফসি 2046 বিভাগে 4.5.1 বলে:

"অক্টেট-স্ট্রিম" সাব টাইপটি নির্দেশিত করতে ব্যবহৃত হয় যে কোনও শরীরে স্বেচ্ছাসেবী বাইনারি ডেটা রয়েছে।


3
আসলে, আরএফসি-র প্রতি আপনার অজানা ডেটা সহ কোনও প্রকারের তথ্য প্রেরণ করা উচিত নয়। আরএফসি -2046 কেবল পরিচিত প্রকারের সংজ্ঞা দেয় তবে আরএফসি -7231 আপনাকে কীভাবে অজানা প্রকারগুলি পরিচালনা করবেন তা বলে।
সাম্পো সরলা - codidact.org

@ সাম্পোসারালা আমি আরএফসি -7231 কিছুটা আলাদাভাবে পড়েছি: "যদি কোনও বিষয়বস্তুর ধরণের শিরোনাম ক্ষেত্র উপস্থিত না থাকে তবে প্রাপক মায়া মিডিয়া ধরণের" অ্যাপ্লিকেশন / অক্টেট-স্ট্রিম "([আরএফসি 2046], বিভাগ 4.5.1) ধরে নিতে পারেন বা এর ধরণ নির্ধারণ করতে ডেটা পরীক্ষা করুন। আমি ব্যাখ্যা করি যেহেতু আমাদের হয় কোনও কন্টেন্ট-প্রকার প্রেরণ করা উচিত বা আমরা যদি ক্লায়েন্টরা সামগ্রী পরীক্ষার সাথে অনুমানমূলক গেম খেলতে না চাই তবে ডিফল্ট হিসাবে অ্যাপ্লিকেশন / অক্টেট-স্ট্রিমটি প্রেরণ করা নিরাপদ।
Jpnh

1
@ জেপ্নহ্ হ্যাঁ, এটা ঠিক। সামগ্রী-প্রকারের শিরোনামটি অজানা থাকা অবস্থায় উপস্থিত হওয়া উচিত নয়। একজন অ্যাপ্লিকেশন / অক্টেট-স্ট্রিমও প্রেরণ করতে পারে যা ক্লায়েন্টকে মূলত বলে যে " আপনি এখনই এটি প্রদর্শন করতে চান না, বরং এই বাইটগুলি ফাইলের মধ্যে সংরক্ষণ করুন "। এটি ওয়েব ক্লায়েন্টদের ফাইল সংরক্ষণের প্রস্তাব দেয়। বিকল্প 1 == এই ফাইলটি সম্পর্কে কিছুই জানেন না। বিকল্প 2 == ফাইলের সামগ্রীগুলি মাইম ব্যবহার করে বর্ণনা করা যায় না বা এটি কেবল ডিস্কে সংরক্ষণ করা উচিত। অনুশীলনে উভয় বিকল্প সঠিক হবে। বিভ্রান্তি এড়াতে আমার আরও ভাল শব্দ পছন্দ করা উচিত ছিল।
সাম্পো সরলা - কোডিড্যাক্ট.org

4
"যথেচ্ছ বাইনারি ডেটা" "অজানা" নয়। অ্যাপ্লিকেশন / অক্টেট-স্ট্রিম ব্যবহার করে আপনি ব্রাউজারকে বলবেন যে সামগ্রীর ধরণটি পরিচিত, এটি পাঠ্য নয় বা কোনও চিত্র নয় তবে স্বেচ্ছাসেবী বাইনারি ডেটা এবং ফলস্বরূপ ফাইলটিতে ডাউনলোড করা এবং সম্ভবত সম্পাদন করা উচিত। ভুল হওয়ার শীর্ষে, এটি একটি সুরক্ষা গর্ত, বিশেষত সবে দৃশ্যমান আধুনিক ডাউনলোড পরিচালকদের বিবেচনা করে। সঠিক উত্তরটি কোনও সামগ্রী-ধরণের শিরোনাম নয়। এটি কী ধরণের ফাইল তা আপনি যদি না জানেন তবে ব্রাউজারটি এটি জানতে পারে তাই অনুমান করা উচিত, বিশেষত যখন এটি ব্যবহারের প্রসঙ্গে (চিত্র, নথি, স্ক্রিপ্ট, ...)
জানত

@ এফএফ_দেব আমি নিশ্চিত এটি আজেবাজে কথা। "স্বেচ্ছাসেবী বাইনারি ডেটা" "নির্বাহযোগ্য" বোঝায় না; ব্রাউজার (বা ডাউনলোড ম্যানেজার) কোনও application/octet-streamফাইল নির্বাহযোগ্য বলে ধরে নেওয়ার কোনও কারণ নেই । এবং যদি একটি ব্রাউজার হয় জ্ঞাতসারে একটি এক্সিকিউটেবল ফাইল ডাউনলোড, এটা ব্যবহারকারীকে জিজ্ঞাসা না করে "সম্ভবত চালানো" না এটা; কেবলমাত্র একটি এক্সিকিউটেবল ডাউনলোড করা বোঝায় না যে আমি এটি এখনই সম্পাদন করতে চাই। যদি সত্যিই এমন কোনও ব্রাউজার থাকে যা application/octet-streamডাউনলোডের সময় স্বয়ংক্রিয়ভাবে ফাইলগুলি কার্যকর করতে পারে তবে কোনটি এবং কীভাবে আচরণটি পুনরুত্পাদন করতে হবে তা আমাদের জানান। এই মুহূর্তে আমি আপনাকে বিশ্বাস করি না।
মার্ক অ্যামেরি

38

আরএফসি সংস্থানসমূহ:

আমাদের আরএফসি -7231 (এইচটিটিপি / 1.1 শব্দার্থবিজ্ঞান এবং বিষয়বস্তু) আরএফসি -2046 (মিডিয়া প্রকার) এর পরিবর্তে রেফারেন্স হিসাবে ব্যবহার করা উচিত কারণ প্রশ্নটি এইচটিটিপি কনটেন্ট-টাইপ সম্পর্কে স্পষ্ট ছিল।

এছাড়াও আরএফসি -2046 স্পষ্টভাবে অজানা ধরণের সংজ্ঞা দেয় না তবে আরএফসি -7231 করে।

সংক্ষিপ্ত উত্তর:

অজানা তথ্যের জন্য MIME প্রকারটি প্রেরণ করবেন না।
আরও পরিষ্কার হতে: কন্টেন্ট-টাইপ শিরোনাম মোটেও ব্যবহার করবেন না।

তথ্যসূত্র:

আরএফসি -7231
হাইপারটেক্সট ট্রান্সফার প্রোটোকল (HTTP / 1.1): শব্দার্থবিজ্ঞান এবং সামগ্রী
3.1.1.5। বিষয়বস্তুর প্রকার

কোনও প্রেরক যা একটি পেলড বডিযুক্ত একটি বার্তা উত্পন্ন করে সেই বার্তায়
একটি সামগ্রী-প্রকারের শিরোলেখ ক্ষেত্র উত্পন্ন করা উচিত যদি
না বন্ধকযুক্ত প্রতিনিধিত্বের উদ্দেশ্যে প্রচারিত মিডিয়া প্রকার
প্রেরকের অজানা ।

বিভাগটি স্পষ্টভাবে আপনাকে বলছে যদি আপনি এটি নিশ্চিতভাবে না জানেন তবে এটি ছেড়ে দিন। এটি আরও জানায় যে রিসিভারটি ধরে নিতে পারে যে প্রকারটি অ্যাপ্লিকেশন / অক্টেট-স্ট্রিম তবে জিনিসটি এটি অন্যরকম কিছুও হতে পারে।

এরপরে কী আলাদা?

আরএফসি
-2046 4.5.1। অক্টেট-স্ট্রিম সাব টাইপ

কোনও
"অ্যাপ্লিকেশন / অক্টেট-স্ট্রিম" সত্তা গ্রহণ করে এমন একটি প্রয়োগের জন্য প্রস্তাবিত পদক্ষেপটি হ'ল
কোনও ফাইল-তে কোনও কন্টেন্ট-ট্রান্সফার-এনকোডিং পূর্বাবস্থায় ফেরাতে বা সম্ভবত
কোনও ব্যবহারকারী-নির্দিষ্ট করে ইনপুট হিসাবে ব্যবহার করার প্রস্তাব দেওয়া হয় প্রক্রিয়া।

এবং, যেমন ইতিমধ্যে উপরে বলা হয়েছে:

আরএফসি
-7231 3.1.1.5। বিষয়বস্তুর প্রকার

যদি কোনও কন্টেন্ট-টাইপ শিরোলেখ ক্ষেত্র উপস্থিত না থাকে তবে প্রাপক মায়া হয় "অ্যাপ্লিকেশন / অক্টেট-স্ট্রিম"
([আরএফসি 2046], বিভাগ 4.5.1) এর একটি মিডিয়া টাইপ ধরে রাখেন বা এর ধরণ নির্ধারণের জন্য ডেটা পরীক্ষা করুন।

উপসংহার:

যদি আপনি এটিকে "অ্যাপ্লিকেশন / অক্টেট-স্ট্রিম" হিসাবে সংজ্ঞায়িত করেন তবে আপনি বলছেন যে আপনি জানেন যে এটি "অ্যাপ্লিকেশন / অক্টেট-স্ট্রিম"।

আপনি যদি এটি সংজ্ঞায়িত না করে থাকেন তবে আপনি বলছেন যে এটি কী তা আপনি জানেন না এবং রিসিভার এবং রিসিভারের সিদ্ধান্ত ছেড়ে যান তবে এটি হাঁসের মতো হাঁটছে কিনা তা পরীক্ষা করতে পারে এবং ...


1
এই উত্তরটি উত্তোলনের যোগ্য, কারণ এটি কেবল সত্যই। অতিরিক্তভাবে ডিফল্টরূপে "অ্যাপ্লিকেশন / অক্টেট-স্ট্রিম" ব্যবহার করে সর্বাধিক ব্রাউজার ট্রিগার ডাউনলোড করুন যা প্রায় অদৃশ্য আধুনিক ডাউনলোড পরিচালকদের বিবেচনা করে একটি সুরক্ষা গর্ত।
এফএফ_দেব

1
এটি HTTP- র ক্ষেত্রে সঠিক, তবে প্রশ্নটি সাধারণত মাইম সম্পর্কে, HTTP সম্পর্কিত নয়। ইমেলের ক্ষেত্রে, উদাহরণস্বরূপ, বিধিগুলি সম্পূর্ণ আলাদা। এছাড়াও প্রস্তাবিত ডুপ্লিকেট আলোচনা দেখুন stackoverflow.com/questions/12539058/...
tripleee

আমি একই কারণে একটি আপটিক দিয়েছি, তবে আমি এফএফ_দেবের সাথে একমত। অভিপ্রায়টি "অ্যাপ্লিকেশন / অক্টেট-স্ট্রিম" না হওয়া এবং একটি ডাউনলোডকে ট্রিগার করার জন্য, "অ্যাপ্লিকেশন / অজানা" প্রয়োজন। ব্রাউজারগুলি "কন্টেন্ট-ডিসপজিশন" সেট না করা থাকলে ফাইলটি ডাউনলোড করার চেষ্টা না করলে ভাল লাগবে, তবে অনেকগুলি ওয়েবসাইট তাদের ফাইলের নাম ব্যবহারের জন্য সেট না করেই খুব সহজেই ফাইল ডাউনলোড করছে। বিশেষত ব্যাংকগুলি
justdan23

14

আমি পছন্দ করি application/unknownতবে ফলাফল অবশ্যই একই রকম হবেapplication/octet-stream


17
এমন কোনও মানদণ্ড রয়েছে যা অ্যাপ্লিকেশন / অক্টেট-স্ট্রিমের পরিবর্তে অ্যাপ্লিকেশন / অজানা ব্যবহারের অনুমতি দেয়?
হেনড্রিক ব্রুমারম্যান

3
ধন্যবাদ! অ্যাপ্লিকেশন / অজানা দুর্দান্ত কাজ করছে, অক্টেট-স্ট্রিমটি আমার নমুনা পিএনজি-ফাইলে ক্রোমে একটি ত্রুটির ফলাফল দেয়!
fnkr

10
কেন একটি .png ফাইল পরিবেশন করা application/octet-streamবা application/unknown? তারা আবিষ্কার করার একটি কারণ রয়েছে image/png
এডিয়াকাপি

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

2
আপনার রেফারেন্স কি? অজানা টাইপটি ফাইলের বিষয়বস্তু বা অবস্থান সম্পর্কিত কোনও তথ্য অবদান রাখছে না, বা এটি বাইনারি বা পাঠ্য ভিত্তিক হলেও এটি প্রোডাকশন কোডের জন্য খুব অস্পষ্ট, একটি ছোট প্রকল্পের জন্য ঠিক হতে পারে, কারণ যদি ফাইল মাইমাইপটিতে কোনও ফাইল থাকে না ওএসে হ্যান্ডলার, এটি মূলত ডাউনলোডযোগ্য বাইনারি- এবং অজানা টাইপটি উইন্ডোজ ওএসের একটি পরিচিত হ্যান্ডেল যা আপনি কোনও ক্রিয়া বরাদ্দ করতে পারেন (উদাহরণস্বরূপ নোটপ্যাড দিয়ে অজানা ফাইলগুলি খোলার জন্য)। খারাপ অভ্যাস অজানা টাইপ সঙ্গে মিলিত ব্যবহার করতে পারেন যদিও এই /: কোনো নির্বাহ এড়িয়ে যেতে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.