Gopher یک پروتکل اینترنتی است که برای توزیع، جستجو و بازیابی اسناد از طریق اینترنت طراحی شده است. Gopher که در اوایل دهه 1990 در دانشگاه مینهسوتا توسعه یافت، پیشروی شبکه جهانی وب بود و روشی مبتنی بر متن، سلسله مراتبی و کاربرپسند برای پیمایش اسناد آنلاین ارائه کرد.
پیدایش و تکامل Gopher
پروتکل Gopher در سال 1991 توسط تیمی به رهبری Mark P. McCahill در دانشگاه مینه سوتا طراحی شد. این پروتکل که پس از طلسم دانشگاه، "Golden Gopher" نامگذاری شد، در ابتدا برای دسترسی به منابع اینترنتی در محوطه دانشگاه مورد استفاده قرار گرفت.
سادگی و توانایی Gopher در سازماندهی اطلاعات به صورت سلسله مراتبی، آن را قبل از ظهور شبکه جهانی وب گرافیکی در میان کاربران اینترنت به یک انتخاب محبوب تبدیل کرد. با این حال، ظهور وب، به ویژه پس از معرفی مرورگر وب Mosaic در سال 1993، به دلیل توانایی وب برای نمایش گرافیک در کنار متن و رابط جذاب تر، Gopher را به طور قابل توجهی تحت الشعاع قرار داد.
کاوش عمیق Gopher
Gopher مبتنی بر معماری سرویس گیرنده-سرور است که در آن مشتریان Gopher برای درخواست اطلاعات به سرورهای Gopher متصل می شوند. اطلاعات ارائه شده توسط Gopher در یک ساختار سلسله مراتبی، شبیه به یک سیستم فایل سازماندهی شده است. هنگامی که یک کاربر یک پیوند Gopher را انتخاب می کند، مشتری یک پرس و جو به سرور ارسال می کند، که سپس سند درخواستی یا فهرستی از پیوندها را در صورتی که پیوند یک دایرکتوری باشد، برمی گرداند.
این پروتکل همچنین از جستجوی کلیدواژه پشتیبانی می کند، جایی که یک کلاینت Gopher می تواند یک رشته جستجو را به یک سرور Gopher ارسال کند و سرور تمام اسناد مطابق با رشته جستجو را برمی گرداند. با این حال، شایان ذکر است که Gopher از ویژگیهای پیشرفتهتر موجود در پروتکلهای مدرن، مانند HTTPS، کوکیها یا فرمهای تعاملی پشتیبانی نمیکند.
Inside the Gopher: درک مکانیسم کاری آن
Gopher روی یک مدل کلاینت-سرور کار می کند که در آن مشتریان Gopher درخواست هایی را برای اطلاعات به سرورهای Gopher ارسال می کنند. سرور با ارسال فایل متنی یا منوی درخواستی پاسخ می دهد. منوها فایل های متنی ساده با خطوطی هستند که آیتم های منو را نشان می دهند. هر مورد شامل یک نام قابل خواندن برای انسان و یک آدرس سرور است که در آن آیتم را می توان یافت.
Gopher از طرح URL منحصر به فرد خود استفاده می کند. URL Gopher با "gopher://" شروع می شود و شامل آدرس سرور، نوع منبع و رشته انتخابگر است. رشته انتخاب کننده مسیر منبع روی سرور است.
ویژگی های متمایز Gopher
- سادگی: طراحی Gopher ساده است و ایجاد کلاینتها، سرورها و اسناد Gopher را آسان میکند.
- ساختار سلسله مراتبی: Gopher اطلاعات را در قالبی شفاف و سلسله مراتبی شبیه به یک سیستم فایل ارائه می کند.
- استفاده کارآمد از شبکه: Gopher از پهنای باند کمتری نسبت به پروتکلهای گرافیکی مانند HTTP استفاده میکند که باعث میشود مرور در اتصالات کند سریعتر شود.
- قابلیت جستجو: Gopher از جستجوی کلمات کلیدی در سرورهای Gopher پشتیبانی می کند.
- مبتنی بر متن ساده: اسناد Gopher عمدتا متن ساده هستند، اگرچه پروتکل می تواند فایل های باینری را نیز توزیع کند.
انواع مختلف گوفر
در Gopher، انواع مختلفی از آیتم ها با استفاده از یک کد تک کاراکتری در ابتدای خط آیتم شناسایی می شوند. برخی از انواع اقلام متداول عبارتند از:
کد را تایپ کنید | شرح |
---|---|
0 | فایل متنی: این نوع آیتم نشان دهنده یک سند یا هر نوع داده متنی دیگری است. |
1 | دایرکتوری: این نوع آیتم یک منوی Gopher است که شامل موارد بیشتری است. |
7 | موتور جستجو: این نوع مورد نمایه قابل جستجو را نشان می دهد. |
9 | فایل باینری: این نوع مورد برای فایل های داده غیر متنی مانند تصاویر، صدا یا ویدئو استفاده می شود. |
من | پیام اطلاعاتی: این نوع آیتم برای نمایش متن اطلاعاتی در منوهای Gopher استفاده می شود. |
Gopher in Action: استفاده ها، چالش ها و راه حل ها
علیرغم اینکه Gopher از محبوبیت کمتری نسبت به وب برخوردار است، هنوز یک پایگاه کاربر اختصاصی دارد، عمدتاً در جوامع علاقه مند به محاسبات یکپارچهسازی با سیستمعامل و فناوری. Gopher برای توزیع اسناد و فایلهای متنی و ایجاد منوهای پیوندها با قابلیت پیمایش آسان استفاده میشود.
با این حال، گوفر با چالش هایی روبرو است. مرورگرهای وب مدرن به طور پیش فرض از Gopher پشتیبانی نمی کنند و پروتکل فاقد ویژگی های پیشرفته مانند رمزگذاری و کوکی ها است. با این وجود، سرویسهای سرویس گیرنده و پروکسی اختصاصی Gopher میتوانند برای دسترسی به سایتهای Gopher مورد استفاده قرار گیرند، و تلاشهایی برای مدرنسازی پروتکل با حفظ سادگی آن انجام میشود.
مقایسه با پروتکل های مشابه
ویژگی | گوفر | HTTP (وب) | FTP |
---|---|---|---|
رمزگذاری | خیر | آره | آره |
بیسکویت ها | خیر | آره | خیر |
قابلیت جستجو | آره | آره | خیر |
ساختار سلسله مراتبی | آره | خیر | آره |
آینده Gopher: چه چیزی در فروشگاه وجود دارد؟
در حالی که ممکن است Gopher یادگاری از گذشته به نظر برسد، اما علاقه مداوم به استفاده و توسعه پروتکل وجود دارد که در درجه اول به دلیل سادگی و کارایی آن است. توسعه دهندگان در حال کار بر روی پروژه هایی برای مدرن کردن Gopher هستند، مانند افزودن پشتیبانی برای رمزگذاری، و تلاش مداومی برای ایجاد یک معادل Gopher از وب مدرن، معروف به "Gopherspace" وجود دارد.
نقش سرورهای پروکسی با Gopher
با توجه به اینکه مرورگرهای مدرن به طور پیش فرض از پروتکل Gopher پشتیبانی نمی کنند، سرورهای پروکسی نقش اساسی در دسترسی به سایت های Gopher دارند. یک پروکسی Gopher-to-HTTP به کاربران اجازه می دهد تا با استفاده از یک مرورگر وب استاندارد به محتوای Gopher دسترسی داشته باشند. سرور پروکسی محتوای Gopher درخواستی را واکشی می کند و آن را به محتوای HTTP تبدیل می کند که مرورگر می تواند نمایش دهد. این یک پلی بین وب مدرن و Gopher ایجاد می کند و به کاربران امکان می دهد دنیای منحصر به فرد و متن محور Gopherspace را کشف کنند.
لینک های مربوطه
- پروژه اوربایت: ابتکاری برای بازگرداندن Gopher به فایرفاکس و کروم.
- Floodgap Public Gopher Proxy: یک پروکسی عمومی Gopher-to-HTTP.
- پروتکل گوفر: مشخصات پروتکل اصلی Gopher.
- سیستم یونیکس دسترسی عمومی SDF: سایت معروف Gopher.
- چمن گوفر: فهرستی از سایتهای فعال Gopher.