[TIL] HTTP : The Definitive Guide "p34 ~ p35"

시윤·2024년 2월 1일
0

[TIL] Two Pages Per Day

목록 보기
14/107
post-thumbnail

Chapter 2. URLs and Resources

(해석 또는 이해가 잘못된 부분이 있다면 댓글로 편하게 알려주세요.)


❤️ 원문 번역 ❤️

URL Shortcuts

Web clients understand and use a few URL shortcuts. Relative URLs are a convenient shorthand for specifying a resource within a resource. Many browsers also support “automatic expansion” of URLs, where the user can type in a key (memorable) part of a URL, and the browser fills in the rest. This is explained in “Expandomatic URLs.”

  • 웹 클라이언트는 몇 가지 URL 약어를 이해하고 적용합니다.

  • Relative URL은 리소스 내에서 특정 리소스를 지정하는 데 편리한 약어입니다.

  • 많은 브라우저가 URL의 "자동 완성 기능"을 지원합니다. 이 기능을 통해 유저는 URL의 주요 부분을 입력하고, 브라우저가 나머지 부분을 작성합니다.

  • 이것을 "Expandomatic URL"라고 합니다.


2. Expandomatic URLs

Some browsers try to expand URLs automatically, either after you submit the URL or while you’re typing. This provides users with a shortcut: they don’t have to type in the complete URL, because it automatically expands itself.

  • 몇몇 브라우저는 사용자가 URL을 입력한 뒤 혹은 입력하는 중에 URL 자동 완성을 시도합니다.

  • 이 기능은 사용자들의 손쉬운 사용을 돕습니다. URL을 자동적으로 완성하기 때문에 전체 URL을 입력할 필요가 없습니다.

These “expandomatic” features come in two flavors:

  • 이러한 "Expandomatic" 특성은 두 가지 형태로 나타납니다.

Hostname expansion

In hostname expansion, the browser can often expand the hostname you type in into the full hostname without your help, just by using some simple heuristics.
For example if you type “yahoo” in the address box, your browser can automatically insert “www.” and “.com” onto the hostname, creating “www.yahoo.com”. Some browsers will try this if they are unable to find a site that matches “yahoo”, trying a few expansions before giving up. Browsers apply these simple tricks to save you some time and frustration.
However, these expansion tricks on hostnames can cause problems for other HTTP applications, such as proxies. In Chapter 6, we will discuss these problems in more detail.

(1) Hostname Expansion

  • 사용자가 호스트 이름을 입력하면 브라우저는 사용자의 도움 없이 호스트 이름을 자동으로 완성합니다.

  • 예를 들어 사용자가 주소창에 "yahoo"를 입력하면, 브라우저가 자동으로 "www."와 ".com"을 호스트 이름에 삽입하여 "www.yahoo.com"을 만들어냅니다.

  • 어떤 브라우저는 "yahoo"와 일치하는 사이트를 발견할 수 없을 때 최후의 수단으로 몇 가지 Expansion을 시도하면서 Hostname Expansion을 적용해볼 것입니다.

  • 브라우저는 이 간단한 기술을 통해 시간을 절약하고 좌절감을 줄입니다.

  • 그러나 호스트 이름에 대한 Hostname Expansion은 프록시와 같은 HTTP 애플리케이션에서 문제를 일으킬 수 있습니다.

  • Chapter 6에서, 이러한 문제에 대해 더 자세히 살펴볼 것입니다.

History expansion

Another technique that browsers use to save you time typing URLs is to store a history of the URLs that you have visited in the past. As you type in the URL, they can offer you completed choices to select from by matching what you type to the prefixes of the URLs in your history. So, if you were typing in the start of a URL that you had visited previously, such as http://www.joes-, your browser could suggest http://www.joes-hardware.com. You could then select that instead of typing out the complete URL.

(2) History Expansion

  • 브라우저가 URL 입력 시간을 줄이기 위해 사용하는 또다른 기술은 사용자가 이전에 방문한 URL의 기록을 저장하는 것입니다.

  • 사용자가 URL을 입력하면 이전에 방문한 적 있는 URL의 앞부분과 일치하는 것을 선택하여 완성된 입력을 제공할 수 있습니다.

  • 즉, 사용자가 "http://www.joes-"처럼 이전에 방문한 적 있는 URL을 입력하기 시작하면 브라우저는 "http://www.joes-hardware.com"을 입력하는 것으로 추정합니다.

  • 그렇다면 사용자는 전체 URL을 입력하는 대신 자동 완성된 URL을 선택할 수 있습니다.

Be aware that URL auto-expansion may behave differently when used with proxies. We discuss this further in “URI Client Auto-Expansion and Hostname Resolution” in Chapter 6.

  • 그러나 URL 자동 완성 기능이 프록시에 적용될 때는 다르게 동작한다는 것에 유의해야 합니다.

  • 이 부분은 추후에 Chapter 6의 "URI Client Auto-Expansion and Hostname Resolution" 파트에서 다룹니다.


🧡 요약 정리 🧡

URL Shortcuts

1. Relative URLs

  • Absolute URL과 달리 불완전한 형태의 URL

  • Relative URL을 Aabsolute URL로 변환 과정
    - (1) Relative URL과 Base URL의 구성 요소 파싱
    - (2) Scheme이 비어있다면 Base URL의 Scheme 상속
    - (3) 유저명, 패스워드, 호스트, 포트 중 적어도 하나의 구성 요소가 Non-empty라면 Relative URL의 구성 요소와 Base URL의 구성 요소를 결합하여 새로운 Absolute URL 획득
    - (2) 필요한 구성 요소는 Base URL로부터 상속
    - (3) 새로운 Absolute URL을 얻을 수 있다

  • Base URL은 리소스 내부에 명시적으로 나타나거나 리소스의 URL을 그대로 활용한다

2. Expandomatic URLs

  • URL 자동 완성 기능

  • (1) Hostname Expansion : 호스트 이름의 일부분을 입력하면 자동으로 URL을 완성해주는 기능

  • (2) History Expansion : 이전에 방문한 URL을 기반으로 완성된 입력을 예측하여 제시하는 기능

  • Auto-Expansion URL이 프록시에 적용될 때는 달리 동작할 수 있음에 유의


💛 감상 💛

  • 분량 조절에 실패했다. Expandomatic URL의 내용이 지난 포스팅에서 다룬 Relative URL의 내용보다 조금 적어서 포스팅이 상당히 짧아졌다.
    (이런 날도 있어야 하지 않을까?? 사실 어제 분량이 너무 길어서 힘들었다...ㅎ)

  • URL 자동 완성 기능이 어떤 원리로 동작하는지는 아마 많은 사람들이 경험적으로 느끼고 있었을 것이다. 주소창에 입력한 글자에 따라 하단에 보이는 연관 URL이 대충 입력기록과 호스트 이름과 관련되어 있다는 사실은 알고 있었다(물론 그게 프록시에 적용될 때는 달리 동작한다는 것은 몰랐다).

  • 추가로 궁금한 것은 연관검색어다. 요즘 브라우저는 주소창이든 검색창이든 어떤 단어를 입력하면 연관된 검색어 몇 가지를 자동으로 완성하여 보여준다. 이전 검색내역은 별도로 나열되고 특별한 호스트 이름이 있는 것도 아닌데 연관된 검색어는 어떻게 만들어내는 걸까. 그리고 그 기준은 무엇일까. 연관검색어를 만들어내는 기준은 기업마다 다르기 때문에 명확한 정답이 있지는 않을 것 같다.

  • Chapter 2도 이제 절반 이상 왔다! 남은 부분도 신속하지만 꼼꼼하게 읽어봐야겠다.

profile
맑은 눈의 다람쥐

0개의 댓글

관련 채용 정보