ওয়েব ব্রাউজারগুলি কি বিভিন্ন ট্যাবের জন্য বহির্গামী পোর্টগুলি ব্যবহার করে?


58

একটি ওয়েব ব্রাউজারে যা ফায়ারফক্সের মতো একাধিক ট্যাব রাখার পক্ষে সমর্থন করে, বিভিন্ন ওয়েবসাইট ডোমেনগুলিতে যাওয়া বিভিন্ন ট্যাবগুলি প্রতিটি ডোমেনের জন্য একটি উত্সর্গীকৃত বন্দর ব্যবহার করে ?.

বা ব্রাউজারটি সমস্ত ট্যাব এবং তাই সমস্ত ডোমেন পরিচালনা করার জন্য একটি একক বন্দর ব্যবহার করে ?.


ওয়েবসাইটগুলিতে সংযোগ করার সময় ব্রাউজারগুলি 2 টি বন্দর ব্যবহার করে, 80 টি HTTP সংযোগের জন্য, 443 টি https সংযোগগুলির জন্য। en.wikedia.org/wiki/List_of_TCP_and_UDP_port_numbers
মোয়াব

7
আমি জানি যে পোর্টগুলি সার্ভারের সাথে সংযোগ করতে ব্যবহৃত হয়েছিল, কিন্তু আমি ক্লায়েন্ট (হোস্ট কম্পিউটার) থেকে সংযোগ করতে ব্যবহৃত পোর্ট নম্বরগুলি সম্পর্কে ভাবছিলাম।
yoyo_fun

2
আমি মনে করি যে "বহির্গামী বন্দর" শব্দটি অস্পষ্ট। বন্দরগুলি দ্বি-দিকনির্দেশক। আপনি বলতে পারেন। পরিবর্তে "স্থানীয় পোর্ট"। স্থানীয় বন্দরগুলি অনুরোধগুলি প্রেরণের জন্য উত্স (বহির্গামী) বন্দর এবং প্রতিক্রিয়া পাওয়ার জন্য গন্তব্য (আগত) পোর্ট হিসাবে ব্যবহৃত হয়।
রন মউপিন

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

1
@ এক্সম্ব্রিস: এটি একটি বোধগম্য এবং সহজ কৌশল হতে পারে তবে টিসিপি সংযোগগুলি কোয়াড {লোকাল আইপি, লোকাল পোর্ট, রিমোট আইপি, রিমোট পোর্ট by দ্বারা সনাক্ত করা হয়েছে} স্বতন্ত্রতার জন্য স্থানীয় বন্দর প্রয়োজনীয় নয়, যা একটি ভাল জিনিস: ওয়েবসার্ভার তার স্থানীয় বন্দরটি স্বতন্ত্রতার জন্য মোটেই ব্যবহার করতে পারে না। এবং ওয়েবসভারের দৃষ্টিকোণ থেকে, দূরবর্তী আইপিটি অনন্য নয় কারণ একাধিক ব্যবহারকারী একক গেটওয়ে / প্রক্সিটির পিছনে থাকতে পারে।
এমসাল্টার্স

উত্তর:


55

ব্রাউজারগুলি কি বিভিন্ন ওয়েবসাইটে সংযোগ করার জন্য বিভিন্ন পোর্ট ব্যবহার করে?

হ্যাঁ তারা করে.

উইন্ডোজ on-এ আমার বর্তমান ফায়ারফক্স সংযোগগুলি (আমার কাছে 9 টি খোলা ট্যাব রয়েছে) দেখাচ্ছে এখানে একটি উদাহরণ রয়েছে:

এখানে চিত্র বর্ণনা লিখুন

নোট:

  • আপনি দেখতে পাচ্ছেন যে স্থানীয় বন্দরগুলি সমস্ত আলাদা।

  • রিমোট পোর্টগুলি সাধারণত 80 (এইচটিটিপি), 443 (এইচটিটিপিএস) বা 8080 (এইচটিটিপি বিকল্প) হয়।

  • ওয়েব পৃষ্ঠার রেন্ডারিংয়ের সম্পূর্ণ প্রক্রিয়াটি নীচে বর্ণিত হয়েছে। বিশেষ পদক্ষেপ 5, 6, 13 এবং 15 দেখুন (যা সাহসী)

    • সাধারণভাবে একটি ওয়েব পৃষ্ঠায় রেন্ডারিংয়ে একাধিক সংযোগ ব্যবহার করা হয়, এর সবগুলি একই দূরবর্তী ঠিকানায় থাকবে না।

    • এটি হ'ল ওয়েব পৃষ্ঠাগুলিতে প্রায়শই অন্য কোথাও হোস্ট করা সংস্থান (জাভাস্ক্রিপ্ট ফাইল, ইত্যাদি) অন্তর্ভুক্ত থাকে।

  • একই ওয়েবসাইটে একাধিক সংযোগ (যেমন: স্ট্যাকওভারফ্লো ডটকম) এরও বিভিন্ন স্থানীয় পোর্ট রয়েছে (কারণ এগুলি পৃথক পৃষ্ঠাগুলি উপস্থাপনকারী বিভিন্ন ট্যাবে পৃথক সংযোগ রয়েছে)।


একটি ওয়েব পৃষ্ঠা রেন্ডারিং - ধাপে ধাপে

বিঃদ্রঃ:

  • পদক্ষেপ 5, 6, 13 এবং 15 (যা গা bold় মধ্যে রয়েছে) সরাসরি প্রশ্নের সাথে প্রাসঙ্গিক।

আপনি যখন ওয়েবটি সার্ফ করেন তখন কি ঘটে যায় সে সম্পর্কে কি কখনও ভেবে দেখেছেন? এটি যতটা সহজ বলে মনে হচ্ছে তেমন সহজ নয়:

  1. আপনি আপনার পছন্দসই ব্রাউজারে ঠিকানা বারে একটি URL টাইপ করেন।
  2. প্রোটোকল, হোস্ট, পোর্ট এবং পথ অনুসন্ধান করতে ব্রাউজারটি ইউআরএল পার্স করে।
  3. এটি একটি HTTP অনুরোধ গঠন করে (এটি সম্ভবত প্রোটোকল ছিল)
  4. হোস্টে পৌঁছানোর জন্য, এটি প্রথমে মানব পঠনযোগ্য হোস্টকে একটি আইপি নম্বরে অনুবাদ করতে হবে এবং এটি হোস্টের ডিএনএস লুচ্যুয়াল করে এটি করে
  5. তারপরে নির্দিষ্ট পোর্টে ব্যবহারকারীর কম্পিউটার থেকে সেই আইপি নাম্বারে একটি সকেট খোলার প্রয়োজন (প্রায়শই পোর্ট 80)
  6. কোনও সংযোগ খোলা থাকলে, HTTP অনুরোধটি হোস্টকে প্রেরণ করা হয়
  7. হোস্টটি নির্দিষ্ট বন্দরে শুনতে কনফিগার করা সার্ভার সফ্টওয়্যারটিতে (বেশিরভাগ ক্ষেত্রে অ্যাপাচি) অনুরোধটি ফরোয়ার্ড করে
  8. সার্ভারটি অনুরোধটি পরীক্ষা করে (বেশিরভাগ ক্ষেত্রে কেবলমাত্র পাথ) এবং অনুরোধটি পরিচালনা করার জন্য প্রয়োজনীয় সার্ভার প্লাগইন চালু করে (আপনি যে সার্ভার ভাষা ব্যবহার করেন, পিএইচপি, জাভা, নেট, পাইথন?)
  9. প্লাগইন সম্পূর্ণ অনুরোধ অ্যাক্সেস পেতে এবং একটি HTTP প্রতিক্রিয়া প্রস্তুত শুরু।
  10. প্রতিক্রিয়া তৈরি করতে একটি ডাটাবেস অ্যাক্সেস করা হয় (সম্ভবত)। অনুরোধের পথে (বা ডেটা) পরামিতিগুলির উপর ভিত্তি করে একটি ডাটাবেস অনুসন্ধান করা হয়
  11. ডেটাবেস থেকে ডেটা এবং অন্যান্য তথ্যের সাথে প্লাগইন যুক্ত করার সিদ্ধান্ত নেয়, এটি পাঠ্যের দীর্ঘ স্ট্রিং (সম্ভবত এইচটিএমএল) এর সাথে সংযুক্ত করা হয়।
  12. প্লাগইন সেই ডেটাটি কিছু মেটা ডেটা (এইচটিটিপি শিরোনামের আকারে) এর সাথে সংযুক্ত করে এবং ব্রাউজারে HTTP প্রতিক্রিয়াটি প্রেরণ করে s
  13. ব্রাউজারটি প্রতিক্রিয়াটি গ্রহণ করে এবং প্রতিক্রিয়াতে এইচটিএমএল (যা 95% সম্ভাব্যতার সাথে ভাঙ্গা রয়েছে) পার্স করে
  14. একটি ডিওএম গাছ ভাঙা এইচটিএমএল থেকে তৈরি করা হয়েছে
  15. এইচটিএমএল উত্স (সাধারণত চিত্র, স্টাইল শিট এবং জাভাস্ক্রিপ্ট ফাইল) পাওয়া যায় এমন প্রতিটি নতুন সংস্থার জন্য সার্ভারের কাছে নতুন অনুরোধ করা হয়। 3 ধাপে ফিরে যান এবং প্রতিটি সংস্থানটির জন্য পুনরাবৃত্তি করুন।
  16. স্টাইলশিটগুলি পার্স করা হয় এবং প্রতিটি রেন্ডারিংয়ের তথ্য ডিওএম গাছের সাথে মিলে যাওয়া নোডের সাথে সংযুক্ত হয়ে যায়
  17. জাভাস্ক্রিপ্ট পার্স করা এবং সম্পাদন করা হয়, এবং ডিওএম নোডগুলি সরানো হয় এবং সেই অনুসারে শৈলীর তথ্য আপডেট করা হয়
  18. ব্রাউজারটি ডিওএম ট্রি এবং প্রতিটি নোডের জন্য শৈলীর তথ্য অনুসারে স্ক্রিনে পৃষ্ঠাটি রেন্ডার করে
  19. আপনি পর্দায় পৃষ্ঠাটি দেখতে পাবেন
  20. আপনি বিরক্ত হন পুরো প্রক্রিয়াটি খুব ধীর ছিল।

উত্স একটি ওয়েব পৃষ্ঠা রেন্ডারিং - ধাপে ধাপে


63

একটি ওয়েবসাইটের প্রতিটি সংযোগ একটি সাধারণ সকেট ডিফল্ট গন্তব্য টিসিপি পোর্ট 80 প্লেইন HTTP এর জন্য এবং এইচটিটিপিএসের জন্য 443 ব্যবহার করে। সকেটটি অনন্য হতে, উত্স আইপি ঠিকানা, উত্স টিসিপি পোর্ট, গন্তব্য আইপি ঠিকানা এবং গন্তব্য টিসিপি পোর্টের সংমিশ্রণটি আলাদা হতে হবে।

একই কম্পিউটারে যদি আপনার একই ওয়েবসাইটে একাধিক সংযোগ থাকে (ধরে নিই যে ওয়েবসাইটটি কেবলমাত্র 1 আইপি ঠিকানা ব্যবহার করে), আলাদা উত্স টিসিপি পোর্ট অবশ্যই ব্যবহার করা উচিত। এইভাবে, প্রতিটি সংযোগ অনন্য।

তবে, এটি লক্ষ করা উচিত যে HTTP 1.1 হিসাবে, সমস্ত সংযোগ নির্দিষ্ট সময়ের জন্য স্থির থাকে (অন্যথায় ঘোষণা না করা পর্যন্ত)। এর অর্থ হ'ল যদি একই ওয়েবসাইট থেকে একাধিক সংস্থান অনুরোধ করা হয় (যেমন সিএসএস / জেএস ফাইল) আপনার ব্রাউজারটি একই সংযোগটি পুনরায় ব্যবহার করতে পারে। আপনার ব্রাউজারে একই ওয়েবসাইটের একাধিক উদাহরণ থাকলে এটিও প্রযোজ্য।

আপনি যদি উইন্ডোজটিতে থাকেন তবে netstat -no -p TCPকমান্ডটি আপনাকে সমস্ত সক্রিয় টিসিপি সকেট এবং তাদের ব্রাউজারের প্রাসঙ্গিক আইডি প্রদর্শন করবে:

এখানে চিত্র বর্ণনা লিখুন

আপনি যদি ইউনিক্স / লিনাক্সে থাকেন (এই ক্ষেত্রে দেবিয়ান), আপনি netstat -ntpবা ss -tআদেশটি ব্যবহার করতে পারেন :

এখানে চিত্র বর্ণনা লিখুন


4
নোটস্যাটটি ব্রাউজারবিহীন সংযোগগুলিও প্রদর্শন করবে, উদাহরণস্বরূপ কোনও ইমেল ক্লায়েন্টের জন্য ইমেল সংযোগ, একটি নিউজ রিডারের জন্য সংবাদ সংযোগ। এই সংযোগগুলি বিভিন্ন প্রত্যন্ত বন্দরগুলিতে থাকবে।
ডেভিডপস্টিল

যতক্ষণ না আমি কিছু মিস করছি, মনে হচ্ছে আপনি এই ধারণাটি তৈরি করছেন যে প্রশ্নকারী উইন্ডোজ ব্যবহার করছে, যদিও তিনি অপারেটিং সিস্টেমের কথা উল্লেখ করেননি। যখনই কনসোল কমান্ড সরবরাহ করে আপনি কোন ওএসকে উল্লেখ করছেন এটি তালিকাভুক্ত করাও ভাল।
ব্যবহারকারী 45623

9
@ ব্যবহারকারী 45623: যদিও স্ক্রিনশটটি একটি উইন্ডোজ স্ক্রিনশট, netstat -nলিনাক্স এবং ম্যাক ওএস সহ বেশিরভাগ অপারেটিং সিস্টেমে কাজ করা উচিত।
হেইনজি

1
উইন্ডোজ (সম্ভবত অন্যান্য ওএসও) আপনি netstat -n -oকোন প্রক্রিয়াটি কোন সংযোগ তৈরি করেছে তা দেখতে আপনি ব্যবহার করতে পারেন। অথবা প্রক্রিয়া নাম এবং আইকন এবং সমস্ত সহ একটি জিইউআইতে তালিকাটি দেখতে আপনি সিসইন্টার্নালের টিসিভিউ চালাতে পারেন ।
জোনাথন

এখন প্রশ্ন হল, ওয়েব ব্রাউজারগুলি যদি একই সার্ভারে নিয়ে যায় তবে তারা বিভিন্ন ট্যাব থেকে সংযোগগুলি পুনরায় ব্যবহার করে?
জন ডিভোরাক

11

বিভিন্ন ওয়েবসাইটগুলিতে ট্যাবগুলির বিষয়ে, টিসিপিতে এমন কোনও কিছুই নেই যা স্থানীয় পোর্টের আলাদা হওয়া প্রয়োজন, যতক্ষণ না টিপল {লোকাল আইপি, লোকাল পোর্ট, টার্গেট আইপি, টার্গেট পোর্ট unique অনন্য। একই ওয়েবসাইটে থাকা ট্যাবগুলির জন্য পরিস্থিতি আরও জটিল।

ব্রাউজারটি, ক্লায়েন্ট সফ্টওয়্যারগুলির অন্য কোনও অংশের মতো, একই টার্গেটের বহির্গামী সংযোগের জন্য পৃথক স্থানীয় পোর্ট ব্যবহার করে। সাধারণভাবে এটি এম্বেড থাকা সংস্থান যেমন চিত্র, সিএসএস, জাভাস্ক্রিপ্ট ইত্যাদির জন্য কোনও প্রদত্ত ওয়েবসাইটের সাথে একাধিক সংযোগ তৈরি করবে এটি সম্ভাব্য পুনঃব্যবহারের জন্য এই সংযোগগুলিকে পুল করবে।

একই ওয়েবসাইটে বিভিন্ন ট্যাবগুলি পৃথক সংযোগগুলি ব্যবহার করবে কিনা তা বলা যায় না , কারণ (ক) সাধারণত কোনও ট্যাব প্রতি একক সংযোগ থাকে না, এবং (খ) সময় এবং প্রমাণীকরণের উপর নির্ভর করে সংযোগগুলি হতে পারে ট্যাবগুলির মধ্যে পুনরায় ব্যবহৃত; এবং সংযোগগুলি চিহ্নিত করা সম্ভব না হওয়ায় স্থানীয় পোর্টগুলি সনাক্ত করাও সম্ভব নয়।


ধন্যবাদ। "পুলিং" কোনও সংযোগের অর্থ কী?
yoyo_fun

এটি বন্ধ করার পরিবর্তে, এটি একটি পুলে ফিরিয়ে দিন, এবং এটি যদি কিছু সময়ের বাইরে যাওয়ার জন্য অকার্যকর থাকে তবে কেবল এটি বন্ধ করুন; এবং লক্ষ্যটিতে একটি নতুন সংযোগ তৈরি করার আগে প্রথমে পুলটি সন্ধান করুন। এইভাবে এইচটিটিপি রাখুন-বাস্তবায়ন করা হয়।
ব্যবহারকারী 207421

সুতরাং একটি পুল মেমরির একটি ডেটা স্ট্রাকচার যা স্টোরগুলি খোলা আছে এবং এখনও বন্ধ সংযোগ নেই?
yoyo_fun

এটি সঠিক, সাধারণত টার্গেট আইপি: বন্দর দ্বারা চিহ্নিত একটি মানচিত্র।
ব্যবহারকারী 207421

2
@ ইজেপি: নোট করুন যে এইচটিটিপিএসের জন্য এটি লক্ষ্যযুক্ত আইপি এবং পোর্ট দ্বারা মানচিত্রটি কীতে সুরক্ষিত নয়; একই আইপি এবং পোর্টে সমাধান করার পরেও আপনাকে বিভিন্ন হোস্টনামের সংযোগের মধ্যে পার্থক্য করতে হবে। তর্কসাপেক্ষ একটি ব্রাউজার এছাড়াও উচিত সংযোগ রাখা বিভিন্ন ট্যাব জন্য পৃথক যদি কমপক্ষে একটি ছদ্মবেশী ট্যাবে মোডে রয়েছে।
হেনিং মাখোলম

6

হ্যাঁ. হয়তো না. এটা নির্ভর করে.

প্রথমত, একটি ব্রাউজার সংযোগগুলির জন্য এই কৌশলগুলির যে কোনওটি ব্যবহার করতে পারে:

  1. একক সংযোগ (1995 এর চেয়ে সাম্প্রতিক কোনও ব্রাউজারের পক্ষে অসম্ভব)
  2. ট্যাব প্রতি একটি সংযোগ (মূলত # 1 এর মতো, খুব সামান্য ভাল)
  3. সংস্থান প্রতি এক সংযোগ (নিষ্পাপ, কিন্তু এত খারাপ কাজ করে না)
  4. চালিয়ে যাওয়ার সাথে সংযোগগুলির পুল, পুনরায় ব্যবহার সংযোগগুলি
  5. কিছু আলাদা (পড়ুন: অদ্ভুত স্টাফ)

কোনও ব্রাউজার কোন কৌশলটি ব্যবহার করবে তা আপনার জানার কোনও উপায় নেই যদিও সংযোগের পুল ব্যবহার করা (এবং সংযোগগুলির পুনরায় ব্যবহার করা) একটি যুক্তিসঙ্গত ধারণা।

দ্বিতীয়ত, টিসিপি যেভাবে কাজ করে, আপনার কাছে একটি সোর্স পোর্ট এবং প্রতিটি সংযোগের জন্য একটি গন্তব্য পোর্ট রয়েছে। উত্স এবং গন্তব্য ঠিকানা / পোর্টের জুড়িটি সংযোগটি সংজ্ঞায়িত করে।
আপনি সর্বদা [1] সার্ভারের সাথে সংযোগ স্থাপনের জন্য একটি সুপরিচিত পোর্ট (যেমন 80 বা 443) ব্যবহার করেন (যার সাথে এটি তার বিজ্ঞাপনের ঠিকানাটি শোনে) তবে অন্য পোর্টটি এলোমেলোভাবে বেছে নেওয়া হয়েছে। সুতরাং, আপনি কোন দিক থেকে কোনও সংযোগের দিকে তাকান তার উপর নির্ভর করে এর একটি বা একাধিক সম্ভাব্য বন্দর রয়েছে।

সুতরাং, একই ট্যাবটি তার (এবং সাধারণত) বিভিন্ন প্রান্তে বিভিন্ন পোর্ট ব্যবহার করতে পারে তবে নীতিগতভাবে বিভিন্ন ট্যাব সম্ভবত (যদি সংযোগগুলি পোল করা থাকে এবং একই ট্যাবরে বিভিন্ন সংস্থান একই সার্ভার থেকে লোড করা হয়) একই পোর্টটি ব্যবহার করতে পারে।

যেহেতু প্রশ্ন স্পষ্টভাবে উল্লেখ বিদায়ী , "স্বাভাবিক" ক্ষেত্রে, পোর্ট নাম্বার একই নির্বিশেষে হবে যা ট্যাব তারা থাকেন বা দুটি সম্ভাব্য পোর্ট (80 এবং 443) অন্যতম। যদিও অবশ্যই স্পষ্টভাবে কোনও ইউআরএলে আলাদা পোর্ট (8080 এর মত) জিজ্ঞাসা করা সম্ভব। যদিও এটি বিরল এক ধরণের।


[1] ঠিক আছে, সবসময় না ... তবে আসুন এটি খুব বেশি জটিল করবেন না।


অন্য একটি ফ্যাক্টর ... ক্লায়েন্ট-সাইড পোর্টটি সাধারণত ওএস দ্বারা বেছে নেওয়া হয়, ব্রাউজারটি নয়; এবং সার্ভারের ক্লায়েন্ট-সাইড পোর্টটি ব্রাউজারটি যা দেখায় তার চেয়ে আলাদা হতে পারে, যদি সংযোগটি কোনও NAT ডিভাইসের মধ্য দিয়ে যায়। বেশিরভাগ ওএস একটি (কনফিগারযোগ্য) ইফেমেরাল পোর্ট সীমার মধ্যে লাইন বা এলোমেলোভাবে বরাদ্দ দেয় তবে একটি ব্রাউজার একই সার্ভার-পোর্টকে বিভিন্ন সার্ভারের একাধিক সংযোগ জুড়ে অনুরোধ করতে পারে । (এবং ওপি ক্লায়েন্ট পোর্টগুলি সম্পর্কে জিজ্ঞাসা করছে, সার্ভার বন্দরগুলি নয়))
ডেভিড

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