Gopher (protokol)

Daripada Wikipedia, ensiklopedia bebas.
Lompat ke: pandu arah, cari
Suit protokol Internet
Lapisan Penggunaan

BGP · DHCP · DNS · FTP · HTTP · IMAP · IRC · LDAP · MGCP · NNTP · NTP · POP · RIP · RPC · RTP · SIP · SMTP · SNMP · SSH · Telnet · TLS/SSL · XMPP ·

(lanjut)
Lapisan Pengangkutan

TCP · UDP · DCCP · SCTP · RSVP · ECN ·

(lanjut)
Lapisan Internet

IP (IPv4, IPv6) · ICMP · ICMPv6 · IGMP · IPsec ·

(lanjut)
Lapisan Pautan
ARP/InARP · NDP · OSPF · Terowong (L2TP) · PPP · Kawalan Capaian Media (Ethernet, DSL, ISDN, FDDI) · (lanjut)

Protokol Gopher ialah sejenis protokol lapisan penggunaan TCP/IP yang direka bagi mengedar, mencari, dan mendapatkan dokumen-dokumen melalui Internet. Protokol ini menggunakan reka bentuk menu-dokumen menjadi pilihan pada Jaringan Sejagat pada zaman awal pembinaan jaringan tersebut. Namun, akhirnya protokol HTTP menjadi protokol yang dominan ataupun aliran utama. Ekosistem Gopher sering kali dianggap sebagai pendahulu efektif Jaringan Sejagat, atau dalam bahasa Inggeris, World Wide Web (WWW).

Protokol Gopher dicipta sebuah pasukan yang diketuai Mark P. McCahill di Universiti Minnesota. Protokol ini menyediakan beberapa ciri yang tidak didokong secara azali oleh Web dan mengenakan sistem hierarki yang lebih ketat terhadap maklumat yang terkandung dengannya. Antara muka teks utamanya mudah diguna,[1] dan amat sesuai dengan persekitaran pengkomputan yang bergantung banyak pada terminal teks jarak jauh, yang masih banyak dijumpai semasa protokol ini dicipta pada tahun 1991. protokolnya yang ringkas juga memudahakan penciptaan implementasi pelanggan. Semakan Gopher dan pelanggan yang lebih kini menambah dokongan bagi multimedia.[1] Gopher menjadi pilihan ramai pentadbir sistem kerana protokol ini memerlukan hanya sedikit sumber jaringan berbanding perkhidmatan Web.[2]

Gopher menyediakan platform yang sesuai buat penyediaan perhubungan perpustakaan elektronik besar yang pertama dengan struktur hierarkinya.[3] Para pengguna Gopher masih ingat yang sistem Gopher "lebih pantas, lebih efisien dan lebih teratur" daripada perkhidmatan-perkhidmatan Web sekarang.[4] Mahupun protokol ini kebanyakannya diganti oleh Web dalam tahun-tahun selepasnya, protokol Gopher masih diguna oleh para penggemarnya, dan pelayan-pelayan Gopher masih dikekalkan sehingga kini.

Asal-usul[sunting | sunting sumber]

Sistem Gopher asal dikeluarkan pada tahun 1991 oleh Mark McCahill, Farhad Anklesaria, Paul Lindner, Daniel Torrey, dan Bob Alberti daripada Universiti Minnesota.[5] Tujuan-tujuan utamanya, seperti dinyatakan dalam RFC 1436 adalah:

  • Susunan hierarki seumpama fail yang tidak asing bagi pengguna.
  • Sintaks yang mudah.
  • Sebuah sistem yang dapat dibina dengan pantas dan murah.
  • Memanjangkan metafora sistem fail, seperti membuat gelintaran.

Gopher menggabungkan hierarki dokumen dengan himpunan perkhidmatan, termasuk WAIS, enjin-enjin gelintar Archie dan Veronica, dan juga get laluan kepada sistem maklumat lain seperti FTP dan Usenet.

Nama protokol ini diberikan oleh Anklesaria[6].

Pengalaman baharu buat pengguna[sunting | sunting sumber]

Tapak Gopher yang dipaparkan dengan pelayar Lynx

Laporan sezaman [7] memberikan gambaran bagaimana para pengguna mengalami atur cara semasa ia mula-mula dikeluarkan menyatukan beberapa sumber dan menjana apa yang disebut Gopher space ("ruang gopher").

Dengan skrin yang memuatkan 25 baris 80 aksara hijau (pada masa itu tiada grafik) pengguna mendapat menu berhierarki. Menu tahap teratas mungkin mengandungi jabatan-jabatan dan penerbitan-penerbitan (misalnya, akhbar kampus) universiti yang mengendalikan Gopher sebagai satu cara mengedar dokumen secara elektronik, sekurang-kurangnya kepada masyarakat kampus.

Jaringan Sejagat menambah grafik pada teks, akan tetapi kehilangan menu. Ia mengambil masa yang agak panjang bagi kuasa pengkomputeran -- lebar jalur seribu kali lebih berkuasa daripada (MODEM 9600 baud ke optik gentian), tatasusun cakera yang seribu kali lebih besar (1 GB sehingga lebih daripada 1 TB) dan pelayan murah (CPU yang seribu kali lebih berkuasa) -- bagi membolehkan pengguna Internet sekarang untuk melayar sesawang dan bagi enjin gelintar untuk mengkatalogkan kandungan Web.

Sokongan Natif Gopher[sunting | sunting sumber]

Pelayar Disokong kini Disokong dari Disokong sehingga Nota
Camino Ya 1.0 semasa Mengguna port 70.
Classilla Ya 9.0 semasa Berkod keras ke port 70 dari 9.0–9.2; port senarai putih dari 9.2.1.
cURL Ya 7.21.2 (Oktober 2010) semasa cURL ialah utiliti pemindahan garis perintah
ELinks Beta[8] Opsyen bina
Epiphany Tidak 2.26.3 Dilumpuhkan selepas bertukar ke WebKit
Galeon Ya semasa
Google Chrome Tidak[9] tidak pernah Sebuah tambahan terdapat, tetapi perlu ditulis semual bagi versi Chrome semasa.
Internet Explorer Tidak 1 6.0 IE 6 SP1+ and IE with MS02-047 memerlukan tampung pendaftaran.[10] Mengguna port 70.
Internet Explorer for Mac (dihentikan) Tidak 5.2.3 PowerPC sahaja
K-Meleon Ya semasa
Konqueror Plugin kio_gopher
lftp Ya ? semasa lftp ialah program pindahan garis perintah
libwww Ya 1.0c (Disember 1992) semasa libwww ialah API buat aplikasi Internets
Line Mode Browser Ya 1.1 (Januari 1992) semasa
Lynx Ya semasa Sokongan lengkap
Mozilla Firefox Addon 0 3.6 Mengguna port 70. Sokongan dalaman dihentikan semenjak Firefox 4.0;[11] dapat dipasang semula dengan OverbiteFF.
Netscape Navigator (dihentikan) Ya  ? 9.0.0.6
NetSurf Tidak Sedang dibangunkan, berdasarkan pengambil cURL.
OmniWeb Ya 5.9.2 (April 2009) semasa Pelayar WebKit pertama yang menyokong Gopher[12][13]
Opera Tidak tidak pernah Opera 9.0 memuatkan kebolehan proksi
Pavuk Ya ? semasa Pavuk ialah perisian cermin web (muat turun rekursif)
Safari Tidak tidak pernah
SeaMonkey Addon 1.0 2.0.14 Mengguna port 70. Sokongan dalaman dihentikan bermula dengan SeaMonkey 2.1; serasi dengan OverbiteFF.

Pelayar-pelayar yang tidak menyokong Gopher secara natif masih dapat mencapai pelayan dengan menggunakan get laluan Gopher ke HTTP.

"Plugin" Gopher bagi pelayar[sunting | sunting sumber]

OverbiteFF memanjangkan pelayaran Gopher buat Mozilla Firefox dan SeaMonkey. Plugin ini menyediakan sokongan bagi pencapaian pelayan Gopher yang tidak berfungsi melalui port 70, dengan menggunakan senarai putih, dan juga memuatkan sdokongan buat |pertanyaan CSO/ph; ia juga membolehkan versi-versi Firefox dan SeaMonkey yang tidak menyokong Gopher secara natif untuk mencapai pelayan-pelayan Gopher. Plugin juga terdapat untuk Konqueror[14] dan sambungan berlandaskan proksi bagi Google Chrome.[15]

Pelanggan Gopher buat peranti bimbit[sunting | sunting sumber]

Awal tahun 2010-an menyaksikan minat baharu terhadap pelanggan Gopher buat telefon pintar. Overbite, pelanggan sumber terbuka buat Android 1.5+ dikeluarkan dalam tahap alpha pada tahun 2010.[16]

PocketGopher juga dikeluarkan pada tahun 2010 bersam-sama kod sumbernya bagi beberapa peranti serasi JavaME. iGopher dikeluarkan pada tahun 2011 sebagai perisian propietari buat peranti iPhone dan iPad.

Protokol[sunting | sunting sumber]

Protokol Gopher mula-mula diperikan dalam RFC 1436. IANA memberikan port 70 TCP kepada protokol Gopher.

Protokol ini mudah untuk dilepasi, dan membolehkan pelayaran tanpa menggunakan pelanggan. Sesi Gopher standard kelihatan begini:

/Reference
1CIA World Factbook     /Archives/mirrors/textfiles.com/politics/CIA    gopher.quux.org 70
0Jargon 4.2.0   /Reference/Jargon 4.2.0 gopher.quux.org 70      +
1Online Libraries       /Reference/Online Libraries     gopher.quux.org 70     +
1RFCs: Internet Standards       /Computers/Standards and Specs/RFC      gopher.quux.org 70
1U.S. Gazetteer /Reference/U.S. Gazetteer       gopher.quux.org 70      +
iThis file contains information on United States        fake    (NULL)  0
icities, counties, and geographical areas.  It has      fake    (NULL)  0
ilatitude/longitude, population, land and water area,   fake    (NULL)  0
iand ZIP codes. fake    (NULL)  0
i       fake    (NULL)  0
iTo search for a city, enter the city's name.  To search        fake    (NULL) 0
ifor a county, use the name plus County -- for instance,        fake    (NULL) 0
iDallas County. fake    (NULL)  0

Di sini, pelanggan sudah membuat sambungan TCP dengan pelayan melalui port 70, port piawai bagi Gopher. Pelanggan kemudiannya menghantar "string" diikuti carriage return (kepulangan penyorong) "CR" dan line feed (baris baharu) (yakni, jujukan "CR + LF"). Ini merupakan pemilih yang mengenal pasti dokumen yang perlu diambil. Pelayan kemudiannya menjawab permintaan dengan menyediakan item yang diminta dan menutup sambungan. Mengikut protokol, sebelum sambungan itu ditutup, pelayan harus menghantar tanda titik noktah (yakni, aksara titik) pada barisanya tersendiri. Namun, seperti dalam kes ini, bukan semua pelayan yang mematuhi bahagian protokol ini dan pelayan boleh menutup sambungan tanpa memulangkan tanda titik terakhir.

Dalam contoh ini, item yang dihantar pulang ialah menu gopher, sebuah direktori yang terdiri daripada jujukan baris yang setiap satunya memerikan item yang dapat diambil. Kebanyakan pelanggan akan memaparkan item-item ini sebagai pautan hiperteks, dan dengan itu membolehkan pengguna untuk melayari ruang gopher dengan mengikut pautan.[5]

Pilihan selain Gopher[sunting | sunting sumber]

Dari segi sejarah, hanya terdapat satu pesaing kepada protokol Gopher.

Rujukan[sunting | sunting sumber]

  1. 1.0 1.1 "Medical Library Handbook". World Health Organization- Regional office for the Eastern Mediterranean. pp. 56–64. [pautan putus]
  2. "How Moore's Law saved us from the Gopher web". 12 March 2009. Diperolehi pada 20 September 2011. 
  3. Suzan D. McGinnis (2001). Electronic collection management. Routledge. pp. 69–72. ISBN 0-7890-1309-6. 
  4. Tomi T. Ahonen (2002). m-Profits: Making Money from 3G Services. Wiley. pp. 33–34. ISBN 0-470-84775-1. 
  5. 5.0 5.1 December, John; Randall, Neil (1994). The World Wide Web unleashed. Sams Publishing. p. 20. ISBN 1-57521-040-1. 
  6. Mark McCahill, Farhad Anklesaria (dalam bahasa English) (Flash). "Smart Solutions: Internet Gopher". Minneapolis: University of Minnesota Media Mill. Event occurs at 2:40. http://mediamill.cla.umn.edu/mediamill/display/69597. McCahill credits Anklesaria with naming Gopher
  7. Ward, Lynn (Dec 1992-Jan 1993). "Exploring the Power of the Internet Gopher". UIUCnet 6 (1). Diperolehi pada 5Dec2012. 
  8. Fonseca, Jonas (24 December 2004). "elinks-users ANNOUNCE ELinks-0.10.0 (Thelma)". Linux from scratch. Diperolehi pada 22 May 2010. 
  9. hotaru.firefly, et al. (2 May 2009). "Issue 11345: gopher protocol doesn't work". Google. Diperolehi pada 25 July 2011. 
  10. "Microsoft Security Bulletin MS02-047". Microsoft. 28 February 2003. Diperolehi pada 23 March 2007. 
  11. "Bug 388195 – Remove gopher protocol support for Firefox". Diperolehi pada 15 June 2010. 
  12. "OmniWeb 5.9.2 now includes Gopher support". OmniGroup. 1 April 2009. Diperolehi pada 3 April 2009. 
  13. "A comprehensive list of changes for each version of OmniWeb". OmniGroup. 1 April 2009. Diperolehi pada 3 April 2009. 
  14. "kio_gopher – Gopher kioslave". Diperolehi pada 21 August 2010. 
  15. "The Overbite Project". Floodgap. Diperolehi pada 25 July 2010. 
  16. Paul, Ryan (6 July 2010). "Overbite Project brings Gopher protocol to Android". Ars Technica. Diperolehi pada 25 July 2010. 

Pautan luar[sunting | sunting sumber]

Piawai[sunting | sunting sumber]

  • (Inggeris) Pembahagian Nombor Port IANA
  • RFC 1436 – The Internet Gopher Protocol (a distributed document search and retrieval protocol)
  • RFC 1580 – Guide to Network Resource Tools
  • RFC 1689 – Networked Information Retrieval: Tools and Groups
  • RFC 1727 – A Vision of an Integrated Internet Information Service
  • RFC 1738 – Uniform Resource Locators (URL)
  • RFC 1808 – Relative Uniform Resource Locators
  • RFC 2396 – Uniform Resource Identifiers (URI): Generic Syntax
  • RFC 4266 – The gopher URI Scheme