সংক্ষিপ্ত ইউআরএল পরিষেবাগুলি কীভাবে কাজ করে?


105

টিনিআরএল বা মেটামার্কের মতো পরিষেবাগুলি কীভাবে কাজ করে?
তারা কি কেবল একটি [ভার্চুয়াল?] ওয়েব পৃষ্ঠার সাথে ক্ষুদ্র URL টি কী যুক্ত করে যা কেবলমাত্র মূল URL এ "HTTP পুনর্নির্দেশ" সরবরাহ করে? নাকি এর সাথে আরও "জাদু" আছে?

[মূল শব্দার্থে] আমি প্রায়শই ইউটিউএল সংক্ষিপ্ততর পরিষেবাগুলি যেমন টিনিআরএল, মেটামার্ক এবং অন্যদের ব্যবহার করি তবে আমি যতবার করি, এই পরিষেবাগুলি কীভাবে কাজ করে তা অবাক করি। তারা কি নতুন ফাইল তৈরি করে যা অন্য পৃষ্ঠায় পুনর্নির্দেশ করবে বা তারা সাব-ডোমেন ব্যবহার করবে?


1
[অ-] এই প্রশ্নের পুনঃব্যবস্থাপনের জন্য: "টিন্যাইআরএল এর মতো পরিষেবাগুলি কীভাবে কাজ করে? তারা কি কেবল ছোট্ট ইউআরএল কীটি একটি [ভার্চুয়াল?] ওয়েব পৃষ্ঠার সাথে যুক্ত করে যা কেবলমাত্র অরগিনাল URL এ" এইচটিটিপি পুনর্নির্দেশ "সরবরাহ করে? আপনি কি এটাই? জিজ্ঞাসা করছেন?
এমজেভি

1
সংক্ষিপ্ত url গুলো কি কখনও শেষ হয়ে যায়? (যাদের URL গুলির জন্য অর্থাত ডাটাবেসের এন্ট্রি সার্ভার থেকে সরিয়ে ফেলা হয়)
THD

2
@ তম: হ্যাঁ, তবে এটি (দৈনিক) হিট এবং সংক্ষিপ্ত ইউআরএল পরিষেবা সরবরাহকারীর নীতি নির্ভর করে। তারা কখনও-মেয়াদ-উত্তীর্ণের জন্যও অনুমতি দিতে পারে, কেউ কেউ এর জন্য সদস্যতা চাইতে পারে।
আবেল

উত্তর:


224

না, তারা ফাইল ব্যবহার করে না। আপনি যখন এর মতো কোনও লিঙ্কটিতে ক্লিক করেন, তখন একটি HTTP অনুরোধটি তাদের URL এ পুরো URL সহ প্রেরণ করা হয়, যেমন http://bit.ly/duSk8wK (এই প্রশ্নের লিঙ্ক)। তারা পাথ অংশটি (এখানে duSk8wK) পড়েন , যা তাদের ডাটাবেসে মানচিত্র করে। ডাটাবেসে, তারা একটি বিবরণ (কখনও কখনও), আপনার নাম (কখনও কখনও) এবং আসল URL খুঁজে পায়। তারপরে তারা একটি পুনর্নির্দেশ জারি করে, যা একটি HTTP 302 প্রতিক্রিয়া এবং শিরোনামের লক্ষ্য URL URL

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

পুনঃনির্দেশের আরও প্রকার রয়েছে। HTTP 301 এর অর্থ: স্থায়ীভাবে পুনঃনির্দেশ করুন। যদি এটি ঘটে থাকে তবে ব্রাউজারটি বিট.ইলি বা টিনিআরল সাইটকে আর অনুরোধ করবে না এবং সেই সাইটগুলি হিটগুলি গণনা করতে চায়। এজন্য এইচটিটিপি 302 ব্যবহৃত হয় যা অস্থায়ী পুনঃনির্দেশ। ব্রাউজারটি আবার একবার TinyUrl.com বা বিট.লি জিজ্ঞাসা করবে, যা আপনার জন্য হিটগুলি গণনা করা সম্ভব করে তোলে (কিছু ক্ষুদ্র ইউআরএল পরিষেবাগুলি এটি সরবরাহ করে)।


2
আসলে আমার মনে হয়, বিটলি 302 এর পরিবর্তে HTTP 301 ব্যবহার করে (সর্বশেষে আমি শুনেছি)
কেনি সিজন

1
বিট.ইলি যেহেতু তাদের কোনও ইউআরএলকে নির্দেশ করে সেখানে আপনাকে পরিবর্তন করতে দেয় না, 301 বোঝায়। বিট.লাই সংস্করণ মনে রাখার এবং এটি পুনরায় পরীক্ষা করার দরকার নেই।
Joost Schuur

11
@ কেনেনিসেসন / @ জুস্ট শ্যুর: এটি আসলে এইচটিটিপি 301 যা টাইমস্ট্যাম্প সহ ব্যবহৃত হয়। এই সেটিকে সক্রিয় Movedনা Moved Permanently। এটি একটি সূক্ষ্ম পার্থক্য। টাইমস্ট্যাম্প যুক্ত করে ব্রাউজারটি বিবেচনা করে যে এটি সময়সীমাটি যখন পৌঁছেছে তখন উত্সটি পরিবর্তন হয়েছে কিনা তা যাচাই করা উচিত। অন্যান্য যেমন আইএসডি এর মত একটি সাধারণ ব্যবহার করেন 301 Moved Permanentlyএবং ব্রাউজারটির পুনরায় চেক করার প্রয়োজন হয় না (তবে প্রায়শই হবে)। অবশেষে, url4.eu এর মতো পরিষেবাগুলি মোটেও পুনর্নির্দেশ করে না, তবে আপনাকে প্রথমে একটি বিজ্ঞাপন দেখায়। 301 এর সাথে পরিষেবাগুলি এখনও অনন্য দর্শনার্থীদের গণনা করতে পারে তবে সমস্ত হিট নয়।
আবেল

6
বিটলি ইউআরএল-এর উদাহরণ এখন সত্যই এবং আসলে এই প্রশ্নে পুনরায় পুনঃনির্দেশ করে ;-) তথ্য পৃষ্ঠার জন্য bitly.com/duSk8wK+ দেখুন ।
রোনাল্ড

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

110

অন্যরা পুনঃনির্দেশগুলি কীভাবে কাজ করে তার উত্তর দিয়েছে তবে তারা কীভাবে তাদের ক্ষুদ্র ইউআরএল তৈরি করে তাও আপনার জানা উচিত। আপনি ভুল করে শুনবেন যে সংক্ষিপ্ত URL টির জন্য সেই অনন্য কোডটি তৈরি করার জন্য তারা URL এর একটি হ্যাশ তৈরি করে। এটি বেশিরভাগ ক্ষেত্রেই ভুল, তারা একটি হ্যাশিং অ্যালগরিদম ব্যবহার করছে না (যেখানে আপনার সংঘর্ষের সম্ভাবনা রয়েছে)।

বেশিরভাগ জনপ্রিয় ইউআরএল সংক্ষিপ্তকরণ পরিষেবাগুলি কেবল ইউআরএল এর ডেটাবেজে আইডি নেয় এবং তারপরে একে বেস ৩ [[a-z0-9] (কেস সংবেদনশীল) বা বেস 62 (কেস সংবেদনশীল) রূপান্তর করে।

টিনিআরএল ডাটাবেস সারণীর সরলীকৃত উদাহরণ:

ID       URL                           VisitCount
 1       www.google.com                        26
 2       www.stackoverflow.com               2048
 3       www.reddit.com                        64
...
 20103   www.digg.com                         201
 20104   www.4chan.com                         20

যে ওয়েব ফ্রেমওয়ার্কগুলি নমনীয় রাউটিংয়ের অনুমতি দেয় তা আগত ইউআরএলগুলি হ'ল হ্যান্ডেল করে তোলে (রুবি, এএসপি। নেট এমভিসি, ইত্যাদি)।

সুতরাং, আপনার ওয়েবসারভারে আপনার কাছে এমন কোনও রুট অ্যাকশন থাকতে পারে যা দেখতে (সিউডো কোড) দেখাচ্ছে:

Route: www.mytinyurl.com/{UrlID}
Route Action: RouteURL(UrlID);

আপনার সার্ভারে যে কোনও আগত অনুরোধ যা আপনার সম্পর্কিত ডোমেন www.mytinyurl.com এর পরে আপনার সম্পর্কিত পদ্ধতি, রাউটিআরএল পাঠায় routes এটি সেই পাঠ্যটি সরবরাহ করে যা আপনার ইউআরএলে ফরোয়ার্ড স্ল্যাশের পরে সেই পদ্ধতিতে প্রেরণ করা হয়।

সুতরাং, যাক আপনি অনুরোধ করেছেন: www.mytinyurl.com/fif

"ফিফটি" তারপরে আপনার পদ্ধতিতে প্রবেশ করা হবে, রাউটিআরএল (স্ট্রিং আরলিআইডি)। এরপরে রুট URL "ফিফটি "টিকে তার বেস 10 সমতুল্য, 20103 এ রূপান্তর করবে এবং আইডি 20103 (এই ক্ষেত্রে, www.digg.com) এর অধীনে যে কোনও ইউআরএল সংরক্ষিত আছে সেটিতে পুনর্নির্দেশের জন্য একটি ডাটাবেস অনুরোধ করা হবে। সঠিক URL- এ পুনঃনির্দেশের আগে আপনি ডিজিগের জন্য দেখার পরিসংখ্যানকে আরও একবার বাড়িয়ে তুলবেন।

এটি সত্যিই সরলীকৃত উদাহরণ তবে আপনার সাধারণ ধারণাটি পেতে সক্ষম হওয়া উচিত।


12
সুন্দর ব্যাখ্যার জন্য ধন্যবাদ। সুতরাং যখন কেউ ইতিমধ্যে বিদ্যমান দীর্ঘ ইউআরএলটির জন্য একটি সংক্ষিপ্ত URL তৈরি করার চেষ্টা করে তখন কী ঘটে? তারা কি ডাটাবেসে একটি সম্পূর্ণ পাঠ্য অনুসন্ধান করে? এটি অনেক বেশি সময় ব্যয় হবে বলে আমি মনে করি না। হ্যাশ বা বার্তা ডাইজেস্ট ভিত্তিক পদ্ধতির আরও ব্যবহারিক দেখায়।
পীযূষ কানসাল

@ পীযূষকানসাল আপনি O(1)নকল খুঁজে পেতে অনুসন্ধান করতে অভ্যন্তরীণভাবে হ্যাশ ব্যবহার করতে পারেন ; এবং তার জন্য বিদ্যমান ক্ষুদ্র URL টি রুট করুন বা একটি নতুন তৈরি করতে বেছে নিতে পারেন। আমি যতদূর বলতে পারি, goo.glএকই ইউআরএলটির জন্য ক্ষুদ্র ইউআরএলগুলি পুনরায় ব্যবহার করে; এই পৃষ্ঠার জন্য আপনার শেষের দিকে চেষ্টা করে দেখুন: আপনি এটি >> পান goo.gl/8gVb8X?
কিংজ

তারা কীভাবে ইউআরএল প্যারামিটারগুলি পরিচালনা করবে? উদাহরণস্বরূপ www.digg.com?filter=123 জন্য
রনেন

7

@ এ সালসিডো জবাবের এক্সটেনশন হিসাবে:

কিছু ইউআরএল সংক্ষিপ্তকরণ পরিষেবাদি (টিনিয়ারো.ইউ) সংক্ষিপ্ত ইউআরএলগুলিতে অক্ষরগুলি এনকোড করতে ইউনিকোড (ইউটিএফ -8) ব্যবহার করে চূড়ান্ত দিকে যায় - যা অতিরিক্ত চিহ্ন যোগ করার আগে উচ্চতর পরিমাণের ওয়েবসাইটকে অনুমতি দেয়। যেহেতু অধিকাংশ হল UTF-8 ব্যবহারের গৃহীত ( (আইআরআই) জন্য RFC 3987 অধিকাংশ ব্রাউজার দ্বারা পরিচালিত ) যে থেকে বাধা বিপত্তি 62~ তার প্রতীক প্রতি সাইটগুলিতে 1,112,064

দৃষ্টিকোণে রাখার জন্য, ১ টি ২২ টি প্রতীকযুক্ত (১ 1.২668686363e২ + ১২ টি সাইট এনকোড করা যায় 1,112,064*1,112,064) - নভেম্বর ২০০৯ এ, সংক্ষিপ্ত লিঙ্কগুলি বিলিয়ন বার bit.lyঅ্যাক্সেস করা হয়েছিল 2.1( সেই সময়ে, বিট.ইলি এবং টিন্যাইআরএলই সর্বাধিক ব্যবহৃত ইউআরএল-সংক্ষিপ্তকরণ পরিষেবা ছিল। ) যা আপনার মাত্র 2 টি প্রতীকের তুলনায় 600 গুন কম,


5

সহজ কথায়, ইউআরএল সংক্ষিপ্তর অক্ষরের একটি সংক্ষিপ্ত এবং চটজলদি অনুক্রমের চরিত্রের একটি স্বেচ্ছাসেবী দীর্ঘ ক্রম (মূল, দীর্ঘ ক্রপী ইউআরএল) মানচিত্র করে। এটি হ্যাশিং ছাড়া কিছুই নয়, যা সন্ধানের সারণী, হ্যাশম্যাপ, এমডি 5 হ্যাশ ক্রিপ্টোগ্রাফিক উদ্দেশ্যে তৈরি করতে ব্যবহৃত হয় etc.

ইউআরএল-সংক্ষিপ্তকরণ প্রক্রিয়াটি বোঝার জন্য আমি গিটহাবে একটি ডেমো প্রকল্প এবং একটি ব্লগ পোস্টও তৈরি করেছি। এটি উল্লেখ করুন এবং এটি সহায়ক ছিল কিনা তা আমাকে জানান।

ব্লগ পোস্ট: ইউআরএল সংক্ষিপ্তকরণ

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