(해석 또는 이해가 잘못된 부분이 있다면 댓글로 편하게 알려주세요.)
URLs were designed to be portable. They were also designed to uniformly name all the resources on the Internet, which means that they will be transmitted through various protocols. Because all of these protocols have different mechanisms for transmitting their data, it was important for URLs to be designed so that they could be transmitted safely through any Internet protocol.
URL은 간편하게(휴대 가능하게) 만들어졌습니다.
또한 인터넷에 존재하는 모든 리소스에게 유일무이한 명칭을 부여합니다. 이것은 URL이 다양한 프로토콜을 통해 전달될 수 있음을 의미합니다.
프로토콜마다 데이터를 전송하는 매커니즘이 서로 다릅니다. 따라서 어떤 인터넷 프로토콜을 사용하든 안전하게 전송될 수 있도록 URL을 설계하는 것이 중요했습니다.
Safe transmission means that URLs can be transmitted without the risk of losing information. Some protocols, such as the Simple Mail Transfer Protocol (SMTP) for electronic mail, use transmission methods that can strip off certain characters.* To get around this, URLs are permitted to contain only characters from a relatively small, universally safe alphabet.
안전한 전송이란 정보 손실의 위험 없이 URL이 전달되는 것을 나타냅니다.
Simple Mail Transfer Protocol(SMTP)와 같은 일부 프로토콜은 특정 문자를 누락시킬 위험이 있는 전송 방법을 사용합니다.
이를 방지하기 위해 URL은 상대적으로 작고 보편적으로 안전한 알파벳 문자만 포함하도록 제한됩니다.
In addition to wanting URLs to be transportable by all Internet protocols, designers wanted them to be readable by people. So invisible, nonprinting characters also are prohibited in URLs, even though these characters may pass through mailers and otherwise be portable.†
설계자들은 모든 인터넷 프로토콜에 의해 전송 가능하면서도 가독성이 좋은 URL을 원했습니다.
때문에 보이지 않고 출력되지 않는 문자들 또한 URL에서의 사용이 금지되었습니다. 그 문자들이 아무리 전송 가능하고 간편하더라도 그렇습니다.
To complicate matters further, URLs also need to be complete. URL designers realized there would be times when people would want URLs to contain binary data or characters outside of the universally safe alphabet. So, an escape mechanism was added, allowing unsafe characters to be encoded into safe characters for transport.
문제를 더욱 복잡하게 만드는 것은 URL 또한 완전해야 한다는 것입니다.
URL 설계자들은 사람들이 URL에 이진 정보나 보편적으로 안전한 알파벳 외의 다른 문자들을 포함되기를 원할 때가 있다는 것을 깨달았습니다.
이에 따라 Escape 매커니즘이 추가되었습니다. Escape 매커니즘은 안전하지 않은 문자들을 안전한 문자로 인코딩하여 전송할 수 있게 합니다.
This section summarizes the universal alphabet and encoding rules for URLs.
Default computer system character sets often have an Anglocentric bias. Historically, many computer applications have used the US-ASCII character set. US-ASCII uses 7 bits to represent most keys available on an English typewriter and a few nonprinting control characters for text formatting and hardware signalling.
기본 컴퓨터 시스템 문자 집합은 대개 Anglocentric(북미 중심적인, 영어 중심적인) 경향이 있습니다.
역사적으로 많은 컴퓨터 애플리케이션이 US-ASCII 문자 집합을 사용합니다.
US-ASCII는 영어 자판의 대부분의 키와, 출력되지는 않지만 텍스트 형식화와 하드웨어 시그널링에 사용되는 몇 가지 제어 문자들을 표현하기 위해 7비트를 활용합니다.
US-ASCII is very portable, due to its long legacy. But while it’s convenient to citizens of the U.S., it doesn’t support the inflected characters common in European languages or the hundreds of non-Romanic languages read by billions of people around the world.
US-ASCII는 오랜 전통 때문에 매우 편리합니다.
그러나 이것이 미국 시민들에게는 편리하지만, 유럽 언어에서 일반적으로 사용되는 문자나 전세계의 수십억 인구가 향유하는 로마자가 아닌 언어들은 지원하고 있지 않습니다.
Furthermore, some URLs may need to contain arbitrary binary data. Recognizing the need for completeness, the URL designers have incorporated escape sequences. Escape sequences allow the encoding of arbitrary character values or data using a restricted subset of the US-ASCII character set, yielding portability and completeness.
어떤 URL들은 이진 정보를 포함해야 할지도 모릅니다.
완전성의 요구를 인지한 URL 설계자들은 Escape Sequence를 조직화했습니다.
Escape Sequence는 편의성과 완전성을 보장하며 US-ASCII 문자 집합의 제한된 일부를 사용한 임의의 값이나 데이터의 인코딩을 가능하게 합니다.
To get around the limitations of a safe character set representation, an encoding scheme was devised to represent characters in a URL that are not safe. The encoding simply represents the unsafe character by an “escape” notation, consisting of a percent sign (%) followed by two hexadecimal digits that represent the ASCII code of the character.
Table 2-2 shows a few examples.
안전한 문자 집합 표기의 한계를 극복하기 위해서, 안전하지 않은 문자를 URL로 표현하는 인코딩 기법을 고안하였습니다.
인코딩은 안전하지 않은 문자를 "escape" 표기를 통해 간단하게 나타냈습니다. "escape" 표기는 퍼센트 기호(%)와 문자의 ASCII 코드를 나타내는 두 개의 16진수로 구성됩니다.
Table 2-2가 몇 가지 예시를 보여줍니다.
Several characters have been reserved to have special meaning inside of a URL. Others are not in the defined US-ASCII printable set. And still others are known to confuse some Internet gateways and protocols, so their use is discouraged.
일부 문자들은 URL 내부에서 특별한 의미를 가진 예약어 역할을 합니다.
또다른 문자들은 출력 가능한 US-ASCII 집합에 정의되어 있지 않습니다.
이는 특정 인터넷 게이트웨이와 프로토콜에서 여전히 혼란을 야기할 수 있다고 알려져 있어 사용을 권장하지 않습니다.
Table 2-3 lists characters that should be encoded in a URL before you use them for anything other than their reserved purposes.
Escape Mechanism
- 안전하지 않은 문자 -> 안전한 문자로 인코딩하여 URL에 사용하는 매커니즘
- '%' + 아스키코드의 16진수 표현
Reservation
- URL 내부에서 특별한 의미를 가진 일부 문자
- '%', '/', '.', '..', '#', '?', ';', ':', '$', '+', '@', '&', '=' 등
Restriction
- 출력 가능한 US-ASCII 집합에 정의되지 않은 문자
- 특정 인터넷 게이트웨이나 프로토콜에서 문제 발생 가능성
오늘 내용은 어렵다기보다 영어 공부하는 느낌이었다. 네트워크 관련 글을 읽을 때마다 드는 생각인데 "portable"이라는 단어를 어떻게 해석해야 될지 항상 난감하다. 한국어로 직역하면 "휴대 가능한"이라는 뜻인데 문맥상 썩 와닿지가 않는 해석이다. URL이 휴대 가능하다고 하면 묘하게 이상한 느낌이 들어서, 대충 URL이 편리하다 정도로 해석했다. 나는 영어권 사람이 아니다보니 "portable"이라는 단어에 담긴 정서를 잘 모르겠다 ㅎㅎ
"get around"라는 표현도 두 번 정도 나왔는데 파파고가 자꾸 빙빙 돈다길래 내가 다 돌아버리는 줄 알았다. 이 글에서는 무언가를 극복한다는 의미의 숙어로 사용된 것 같다.
velog의 URL에 '@' 문자가 사용되는 걸 보고 되게 독특하다고 생각했다. 대부분의 URL에서 '@'을 본 적이 없었기 때문이다. 그리고 오늘 내용을 읽어보니 실제로 독특한 게 맞았다. 예약어는 일반적으로 잘 사용하지 않는데 인코딩 매커니즘을 사용해서 URL에 집어넣은 모양이다. 개인적으로 나는 velog 사용자 아이디 앞에 '@'를 붙인 게 더 눈에 잘 보이고 직관적이라고 생각한다. 누가 생각한 건지는 몰라도 좋은 아이디어인 것 같다.