Gopher เป็นโปรโตคอลอินเทอร์เน็ตที่ออกแบบมาเพื่อแจกจ่าย ค้นหา และเรียกค้นเอกสารผ่านทางอินเทอร์เน็ต Gopher ได้รับการพัฒนาที่มหาวิทยาลัยมินนิโซตาในช่วงต้นทศวรรษ 1990 และเป็นผู้นำของเวิลด์ไวด์เว็บและนำเสนอวิธีการแบบข้อความ ลำดับชั้น และใช้งานง่ายในการนำทางเอกสารออนไลน์
กำเนิดและวิวัฒนาการของโกเฟอร์
โปรโตคอล Gopher เกิดขึ้นในปี 1991 โดยทีมงานที่นำโดย Mark P. McCahill จากมหาวิทยาลัยมินนิโซตา โปรโตคอลนี้ตั้งชื่อตามมาสคอตของมหาวิทยาลัย "Golden Gopher" ซึ่งเริ่มแรกใช้เพื่อเข้าถึงทรัพยากรอินเทอร์เน็ตในมหาวิทยาลัย
ความเรียบง่ายและความสามารถของ Gopher ในการจัดระเบียบข้อมูลตามลำดับชั้นทำให้เป็นตัวเลือกยอดนิยมในหมู่ผู้ใช้อินเทอร์เน็ตก่อนการถือกำเนิดของเวิลด์ไวด์เว็บแบบกราฟิก อย่างไรก็ตาม การเพิ่มขึ้นของเว็บ โดยเฉพาะอย่างยิ่งหลังจากการเปิดตัวเว็บเบราว์เซอร์ Mosaic ในปี 1993 ได้บดบัง Gopher อย่างมาก เนื่องจากความสามารถของเว็บในการแสดงกราฟิกควบคู่ไปกับข้อความและอินเทอร์เฟซที่น่าดึงดูดยิ่งขึ้น
การสำรวจโกเฟอร์ในเชิงลึก
Gopher ขึ้นอยู่กับสถาปัตยกรรมไคลเอนต์ - เซิร์ฟเวอร์โดยที่ไคลเอนต์ Gopher เชื่อมต่อกับเซิร์ฟเวอร์ Gopher เพื่อขอข้อมูล ข้อมูลที่นำเสนอโดย Gopher ได้รับการจัดระเบียบเป็นโครงสร้างแบบลำดับชั้น คล้ายกับระบบไฟล์ เมื่อผู้ใช้เลือกลิงค์ Gopher ไคลเอนต์จะส่งแบบสอบถามไปยังเซิร์ฟเวอร์ ซึ่งจะส่งคืนเอกสารที่ร้องขอหรือไดเร็กทอรีของลิงก์หากลิงก์นั้นเป็นไดเร็กทอรี
โปรโตคอลยังสนับสนุนการค้นหาคำหลัก โดยที่ไคลเอ็นต์ Gopher สามารถส่งสตริงการค้นหาไปยังเซิร์ฟเวอร์ Gopher และเซิร์ฟเวอร์จะส่งคืนเอกสารทั้งหมดที่ตรงกับสตริงการค้นหา อย่างไรก็ตาม เป็นที่น่าสังเกตว่า Gopher ไม่สนับสนุนคุณลักษณะขั้นสูงที่พบในโปรโตคอลสมัยใหม่ เช่น HTTPS คุกกี้ หรือรูปแบบเชิงโต้ตอบ
Inside the Gopher: ทำความเข้าใจกลไกการทำงานของมัน
Gopher ทำงานบนโมเดลไคลเอ็นต์-เซิร์ฟเวอร์ โดยที่ไคลเอ็นต์ Gopher ส่งคำขอไปยังเซิร์ฟเวอร์ Gopher เพื่อขอข้อมูล เซิร์ฟเวอร์ตอบสนองโดยส่งไฟล์ข้อความหรือเมนูที่ร้องขอ เมนูคือไฟล์ข้อความธรรมดาซึ่งมีบรรทัดแสดงรายการเมนู แต่ละรายการประกอบด้วยชื่อที่มนุษย์สามารถอ่านได้และที่อยู่เซิร์ฟเวอร์ที่สามารถพบได้
Gopher ใช้รูปแบบ URL ที่เป็นเอกลักษณ์ของตัวเอง Gopher URL ขึ้นต้นด้วย “gopher://” และรวมถึงที่อยู่ของเซิร์ฟเวอร์ ประเภทของทรัพยากร และสตริงตัวเลือก สตริงตัวเลือกคือเส้นทางไปยังทรัพยากรบนเซิร์ฟเวอร์
ลักษณะเด่นของโกเฟอร์
- ความเรียบง่าย: การออกแบบของ Gopher นั้นตรงไปตรงมา ทำให้ง่ายต่อการสร้างไคลเอนต์ เซิร์ฟเวอร์ และเอกสารของ Gopher
- โครงสร้างลำดับชั้น: Gopher นำเสนอข้อมูลในรูปแบบที่ชัดเจน มีลำดับชั้น คล้ายกับระบบไฟล์
- การใช้งานเครือข่ายอย่างมีประสิทธิภาพ: Gopher ใช้แบนด์วิดท์น้อยกว่าโปรโตคอลกราฟิกเช่น HTTP ทำให้เรียกดูการเชื่อมต่อที่ช้าได้เร็วขึ้น
- ความสามารถในการค้นหา: Gopher รองรับการค้นหาคำหลักบนเซิร์ฟเวอร์ Gopher
- ตามข้อความธรรมดา: เอกสาร Gopher ส่วนใหญ่เป็นข้อความธรรมดา แม้ว่าโปรโตคอลยังสามารถแจกจ่ายไฟล์ไบนารี่ได้
โกเฟอร์ประเภทต่างๆ
ใน Gopher รายการประเภทต่างๆ จะถูกระบุโดยใช้รหัสหนึ่งอักขระที่จุดเริ่มต้นของบรรทัดรายการ ประเภทรายการที่ใช้กันทั่วไปบางประเภท ได้แก่:
พิมพ์รหัส | คำอธิบาย |
---|---|
0 | ไฟล์ข้อความ: ประเภทรายการนี้แสดงถึงเอกสารหรือข้อมูลที่เป็นข้อความประเภทอื่น |
1 | ไดเรกทอรี: ประเภทรายการนี้คือเมนู Gopher ที่มีรายการเพิ่มเติม |
7 | เครื่องมือค้นหา: ประเภทรายการนี้บ่งชี้ถึงดัชนีที่ค้นหาได้ |
9 | ไฟล์ไบนารี: ประเภทรายการนี้ใช้สำหรับไฟล์ข้อมูลที่ไม่ใช่ข้อความ เช่น รูปภาพ เสียง หรือวิดีโอ |
ฉัน | ข้อความที่ให้ข้อมูล: ประเภทรายการนี้ใช้เพื่อแสดงข้อความที่ให้ข้อมูลภายในเมนู Gopher |
การดำเนินการของโกเฟอร์: การใช้ ความท้าทาย และแนวทางแก้ไข
แม้จะได้รับความนิยมน้อยกว่าเว็บ แต่ Gopher ยังคงมีฐานผู้ใช้เฉพาะ โดยส่วนใหญ่อยู่ในชุมชนผู้ชื่นชอบคอมพิวเตอร์ย้อนยุคและเทคโนโลยี Gopher ใช้เพื่อแจกจ่ายเอกสารและไฟล์แบบข้อความ และเพื่อสร้างเมนูลิงก์ที่ใช้งานง่าย
อย่างไรก็ตาม โกเฟอร์ต้องเผชิญกับความท้าทายบางประการ เว็บเบราว์เซอร์สมัยใหม่ไม่รองรับ Gopher ตามค่าเริ่มต้น และโปรโตคอลขาดคุณสมบัติขั้นสูง เช่น การเข้ารหัสและคุกกี้ อย่างไรก็ตาม ลูกค้า Gopher เฉพาะและบริการพร็อกซีสามารถใช้เพื่อเข้าถึงไซต์ Gopher ได้ และกำลังพยายามปรับปรุงโปรโตคอลให้ทันสมัย ในขณะเดียวกันก็รักษาความเรียบง่ายไว้
เปรียบเทียบกับโปรโตคอลที่คล้ายกัน
คุณสมบัติ | โกเฟอร์ | HTTP (เว็บ) | เอฟทีพี |
---|---|---|---|
การเข้ารหัส | เลขที่ | ใช่ | ใช่ |
คุ้กกี้ | เลขที่ | ใช่ | เลขที่ |
ความสามารถในการค้นหา | ใช่ | ใช่ | เลขที่ |
โครงสร้างลำดับชั้น | ใช่ | เลขที่ | ใช่ |
อนาคตของโกเฟอร์: มีอะไรอยู่ในร้าน?
แม้ว่า Gopher อาจดูเหมือนเป็นของที่ระลึกจากอดีต แต่ก็มีความสนใจในการใช้และพัฒนาโปรโตคอลอย่างต่อเนื่อง โดยได้รับแรงผลักดันจากความเรียบง่ายและมีประสิทธิภาพเป็นหลัก นักพัฒนากำลังทำงานในโครงการเพื่อปรับปรุง Gopher ให้ทันสมัย เช่น การเพิ่มการรองรับการเข้ารหัส และมีความพยายามอย่างต่อเนื่องในการสร้าง Gopher ที่เทียบเท่ากับเว็บสมัยใหม่ที่เรียกว่า "Gopherspace"
บทบาทของพร็อกซีเซิร์ฟเวอร์กับโกเฟอร์
เนื่องจากเบราว์เซอร์สมัยใหม่ไม่รองรับโปรโตคอล Gopher ตามค่าเริ่มต้น พร็อกซีเซิร์ฟเวอร์จึงมีบทบาทสำคัญในการเข้าถึงไซต์ Gopher พร็อกซี Gopher-to-HTTP อนุญาตให้ผู้ใช้เข้าถึงเนื้อหา Gopher โดยใช้เว็บเบราว์เซอร์มาตรฐาน พร็อกซีเซิร์ฟเวอร์ดึงเนื้อหา Gopher ที่ร้องขอและแปลงเป็นเนื้อหา HTTP ที่เบราว์เซอร์สามารถแสดงได้ นี่เป็นสะพานเชื่อมระหว่างเว็บสมัยใหม่และ Gopher ทำให้ผู้ใช้สามารถสำรวจโลก Gopherspace ที่เน้นข้อความและมีเอกลักษณ์เฉพาะตัว
ลิงก์ที่เกี่ยวข้อง
- โครงการ Overbite: ความคิดริเริ่มในการนำ Gopher กลับมาสู่ Firefox และ Chrome
- พร็อกซีโกเฟอร์สาธารณะ Floodgap: พร็อกซี Gopher-to-HTTP สาธารณะ
- พิธีสารโกเฟอร์: ข้อกำหนดโปรโตคอล Gopher ดั้งเดิม
- ระบบ Unix การเข้าถึงสาธารณะ SDF: เว็บไซต์ Gopher ที่รู้จักกันดี
- สนามหญ้าโกเฟอร์: รายชื่อไซต์ Gopher ที่ใช้งานอยู่