Gopher는 인터넷을 통해 문서를 배포, 검색 및 검색하기 위해 설계된 인터넷 프로토콜입니다. 1990년대 초 미네소타 대학에서 개발된 Gopher는 World Wide Web의 선구자였으며 온라인 문서를 탐색할 수 있는 텍스트 기반의 계층적이며 사용자 친화적인 방법을 제공했습니다.
고퍼의 창세기와 진화
Gopher 프로토콜은 1991년 미네소타 대학의 Mark P. McCahill이 이끄는 팀에 의해 고안되었습니다. 대학의 마스코트인 "Golden Gopher"의 이름을 딴 이 프로토콜은 처음에 캠퍼스의 인터넷 리소스에 액세스하는 데 사용되었습니다.
Gopher의 단순성과 정보를 계층적으로 구성하는 능력은 그래픽 World Wide Web이 출현하기 전에 인터넷 사용자들 사이에서 인기 있는 선택이 되었습니다. 그러나 특히 1993년에 모자이크 웹 브라우저가 도입된 이후 웹의 부상은 텍스트와 함께 그래픽을 표시하는 웹의 능력과 더욱 매력적인 인터페이스로 인해 Gopher를 크게 압도했습니다.
고퍼에 대한 심층 탐구
Gopher는 Gopher 클라이언트가 Gopher 서버에 연결하여 정보를 요청하는 클라이언트-서버 아키텍처를 기반으로 합니다. Gopher가 제공하는 정보는 파일 시스템과 유사한 계층 구조로 구성됩니다. 사용자가 Gopher 링크를 선택하면 클라이언트는 서버에 쿼리를 보내고 서버는 요청한 문서를 반환하거나 링크가 디렉터리인 경우 링크 디렉터리를 반환합니다.
프로토콜은 또한 Gopher 클라이언트가 Gopher 서버에 검색 문자열을 보낼 수 있고 서버는 검색 문자열과 일치하는 모든 문서를 반환하는 키워드 검색을 지원합니다. 그러나 Gopher는 HTTPS, 쿠키 또는 대화형 양식과 같은 최신 프로토콜에서 볼 수 있는 고급 기능을 지원하지 않는다는 점은 주목할 가치가 있습니다.
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를 지원하지 않으며 프로토콜에는 암호화 및 쿠키와 같은 고급 기능이 부족합니다. 그럼에도 불구하고 전용 Gopher 클라이언트와 프록시 서비스를 사용하여 Gopher 사이트에 액세스할 수 있으며 프로토콜의 단순성을 유지하면서 프로토콜을 현대화하려는 노력이 이루어지고 있습니다.
유사한 프로토콜과의 비교
특징 | 부지런한 사람 | HTTP(웹) | FTP |
---|---|---|---|
암호화 | 아니요 | 예 | 예 |
쿠키 | 아니요 | 예 | 아니요 |
검색 가능성 | 예 | 예 | 아니요 |
계층적 구조 | 예 | 아니요 | 예 |
Gopher의 미래: 무엇이 준비되어 있나요?
Gopher는 과거의 유물처럼 보일 수 있지만 주로 단순성과 효율성에 힘입어 프로토콜을 사용하고 개발하는 데 지속적인 관심이 있습니다. 개발자들은 암호화 지원 추가 등 Gopher를 현대화하는 프로젝트를 진행하고 있으며 "Gopherspace"라고 알려진 최신 웹과 동등한 Gopher를 만들기 위한 지속적인 노력이 진행되고 있습니다.
Gopher를 사용한 프록시 서버의 역할
최신 브라우저는 기본적으로 Gopher 프로토콜을 지원하지 않으므로 프록시 서버는 Gopher 사이트에 액세스하는 데 필수적인 역할을 합니다. Gopher-HTTP 프록시를 사용하면 사용자가 표준 웹 브라우저를 사용하여 Gopher 콘텐츠에 액세스할 수 있습니다. 프록시 서버는 요청된 Gopher 콘텐츠를 가져와서 브라우저가 표시할 수 있는 HTTP 콘텐츠로 변환합니다. 이는 최신 웹과 Gopher 사이에 다리를 제공하여 사용자가 Gopherspace의 고유한 텍스트 중심 세계를 탐색할 수 있도록 합니다.
관련된 링크들
- 오버바이트 프로젝트: Gopher를 Firefox와 Chrome으로 다시 가져오기 위한 계획입니다.
- Floodgap Public Gopher 프록시: 공개 Gopher-HTTP 프록시입니다.
- 고퍼 프로토콜: 원래 Gopher 프로토콜 사양입니다.
- SDF 퍼블릭 액세스 유닉스 시스템: 잘 알려진 Gopher 사이트입니다.
- 고퍼 잔디밭: 활성 Gopher 사이트의 선별된 목록입니다.