0.0.0.0, 127.0.0.1 এবং লোকালহোস্টের মধ্যে পার্থক্য কী?


271

আমি Jekyllএবং Vagrantআমার ম্যাক ব্যবহার করছি । আমি পেয়েছি যে পরিবর্তে Jekyll serverআবদ্ধ হবে । এছাড়াও ডিফল্টভাবে এই ঠিকানার সাথে আবদ্ধ হবে। আমি এখনও এটি মাধ্যমে যেতে পারেন । তবে এর জন্য , দেখে মনে হচ্ছে ডিফল্ট সেটিংসের (যেমন 0.0.0.0:4000) ইন্টারনেট অ্যাক্সেস প্রয়োজন। আমি ইন্টারনেট ছাড়া চালাতে পারি না এটি একটি ছোট বাগ?0.0.0.0:4000127.0.0.1:4000gem serverhttp://localhost:portJekyllJekyll server

আমিও ব্যবহার Vagrant। আমি যেহেতু আমি ইনস্টল Vagrantfile সেট পোর্ট ফরওয়ার্ড (8080 => 4000) আছে, Jekyllএর মধ্যে Vagrantভার্চুয়াল মেশিন এবং ম্যাকিন্টোস অধীনে তা পরীক্ষা। আমি যদি ডিফল্ট সেটিংস (0.0.0.0:4000) ব্যবহার করি তবে এটি কার্যকর হয়। আমি আমার সাফারি থেকে এটি দেখতে যেতে পারি http://localhost:8080। তবে যদি ইন্টারনেট না থাকে তবে আমি 0.0.0.0:4000 এ বাঁধতে পারি না। আমি ব্যবহার jekyll server -H 127.0.0.1প্রদানকারীর সাথে যুক্ত হন সেবার 127.0.0.1:4000পরিবর্তে, তারপর আমি এটা মাধ্যমে যেতে পারবেন না http://localhost:8080

কেউ কি 0.0.0.0, 127.0.0.1 এবং লোকালহোস্টের মধ্যে পার্থক্যটি ব্যাখ্যা করতে পারে ? এবং কেউ ব্যাখ্যা করতে পারবেন কেন পার্থক্যটি এই সমস্যার কারণ হবে ?


এই নিবন্ধ সহায়ক may howtogeek.com/225487/...
fangxing

উত্তর:


408

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

"লোকালহোস্ট" সাধারণত 127.0.0.1আইপি ঠিকানার হোস্টনাম হয় । এটি সাধারণত সেট থাকে /etc/hosts(বা উইন্ডোজ সমতুল্য "হোস্ট" নামে কোথাও কোথাও রয়েছে %WINDIR%)। আপনি এটি অন্য কোনও হোস্টনামের মতোই ব্যবহার করতে পারেন - এটি কীভাবে সমাধান হয় তা দেখতে "পিং লোকালহোস্ট" চেষ্টা করে দেখুন 127.0.0.1

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

এটি আশাবাদী আপনার প্রশ্নের আইপি দিকটির উত্তর দেয়। আমি জ্যাকিল বা ভ্যাগ্র্যান্টের সাথে পরিচিত নই, তবে আমি অনুমান করছি যে আপনার পোর্ট ফরওয়ার্ডিং 8080 => 4000কোনওভাবে কোনও নির্দিষ্ট নেটওয়ার্ক অ্যাডাপ্টারের সাথে আবদ্ধ, সুতরাং আপনি যখন স্থানীয়ভাবে সংযোগ করবেন তখন সেই পথে নয়127.0.0.1


হুম, ping localhostWindows এ কাজ বলে মনে হয় এমনকি ছাড়া hosts ফাইলের ইশারা 127.0.0.1করতে localhost
পেসারিয়ার 14

পেসারিয়ারের সাথে একমত কমপক্ষে উইন্ডোজে লোকালহোস্ট ডিফল্টরূপে 0.0.0.0 (127.0.0.1 নয়) হিসাবে আচরণ করে
ড্রডসৌ

5
"0.0.0.0 এর সাথে আপনার বাঁধাইয়ের বর্ণনা ব্যতীত এটি বেশিরভাগ ক্ষেত্রেই সঠিক। এটি বর্ণিত প্রতিটি পাওয়া নেটওয়ার্ক ইন্টারফেসের সাথে আবদ্ধ হয় না বরং সমস্ত ঠিকানার সাথে আবদ্ধ থাকে T টিসিপি স্ট্যাকগুলিতে এটি INADDR_ANY হিসাবে পরিচিত - মুছে ফেলা উত্তর থেকে @ স্ট্রাজোনমোনাদ-এর
পাইওটার ডব্রোগোস্ট

15

জ্যাকিলের বর্তমান সংস্করণে এটি http://127.0.0.1:4000/ এ ডিফল্ট হয় ।
এটি ভাল, যদি আপনি কোনও নেটওয়ার্কের সাথে সংযুক্ত থাকেন তবে অন্য কারও কাছে আপনার অ্যাপ্লিকেশন অ্যাক্সেস করতে চান না।

তবে এটি ঘটতে পারে আপনি কীভাবে কোনও মোবাইল বা অন্য কোনও ল্যাপটপ / কম্পিউটার থেকে আপনার অ্যাপ্লিকেশনটি চালিত হয় তা দেখতে চান।

সেক্ষেত্রে আপনি ব্যবহার করতে পারেন

jekyll serve --host 0.0.0.0

এটি আপনার অ্যাপ্লিকেশনটিকে হোস্টের সাথে আবদ্ধ করে এবং অন্য কোনও হোস্টের সাথে এটিতে সংযোগ স্থাপনের জন্য পরবর্তী ব্যবহার অনুসরণ করে use

http://host's IP adress/4000 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.