코딩크리처 2024. 5. 15. 22:24

hyperskill - HTTP URL 영어 원문


What is a URL? - URL은 무엇인가?


인터넷에 있는 모든 파일들이 대도시에 위치 해 있다고 상상 해 보세요,

우리 중 일부는 대도시에 집을 가져 운이 좋을 겁니다.

최종적으로, 주어진 인터넷의 스케일을 고려해 봤을 때, 이를 대도시로 비유한다면

상상할 수 없는 수의 단지들과 길이 있을 겁니다.

예를 들어, 대도시의 집들 중 한 곳에 사는 당신의 친구에게 공유하고 싶은 흥미로운 글을 가지고 있습니다.

당신은 이 글이 정확히 어디에 있는지 어떻게 설명할까?

맞습니다. 당신은 도시에 있는 모든 주소들의 이름을 지을 수 있는 하나의 표준을 생각 해 낼 필요가 있으며,

그리고 나선 당신의 친구에게 길 이름과 집 번호를 주는 겁니다. 마치 진짜 도시처럼요!


인터넷에 존재하는 모든 문서들은 개인적인 주소를 가지고 있습니다.

예를 들어, JetBrains 의 웹사이트 URL은 이와 같이 생겼습니다 :

https://www.jetbrains.com/

웹 페이지, 이미지, 비디오, 그 외 컴퓨터에 저장할 수 있는 문서들 또한 주소를 가지고 있습니다.

인터넷 상에서 이것들을 똑같이 보이게 만들기 위해서,

1990년에 World Wide Web의 창시자들이

주소들은 이렇게 생겨야 하는 것에 대한 정의를 내리는 특별한 표준을 개발했습니다.

이 표준은 URL 이라 부르는데, 이는 Uniform Resource Locator 의 약자입니다.

이는 인터넷에서 파일의 주소를 기록하는 것의 표준화 된 방식을 표현합니다.


이 표준은 하나의 특정 기능을 가졌습니다 : URLs 에는 모든 문자가 사용 될 수 없습니다.

허용된 문자들이 포함 된 리스트는 밑과 같습니다 :


  • 라틴 알파벳 (혹은 영어 알파벳 심볼들)
  • 국제적 리소스 식별자 (IRI), URL의 형식은 Unicode (유니코드) 문자를 포함해야 합니다.
  • 숫자들
  • 예약된 문자들은 특별한 의미를 가집니다. !#$&'()*+,/:;=?@[]
  • 예약되지 않은 문자들은 이와 같습니다 : -_.~

Basic URL Structure - URL의 기본적인 구조


여기 URL 주소의 예제가 있습니다.

https://material.io/design/material-theming/#material-theming
|

이를 보기 좋게 표로 나눠 봅시다.

https:// material.io /design/material-theming/ #material-theming
PROTOCOL DOMAIN PATH ANCHOR

URL 주소는 밑의 템플릿을 기반으로 하는 확실한 구조를 가지고 있습니다.

<scheme>://<login>:<password>@<host>:<port>/<path>?<request parameters>#<anchor>

자 이제 이 템플릿의 자세한 정보를 봅시다 :

  • <scheme> 는 리소스 기반의 데이터를 교환하는 방식입니다.
    당신이 아마 가장 익숙한 것은 httphttps URL 템플릿일 텐데, 다른 것들도 있습니다.
  • <login>, <password> 는 필요하면 몇몇 프로토콜을 위해 인증 데이터를 전송하는 접두사입니다.
  • <host> 는 사이트가 위치 해 있는 IP 주소 혹은 도메인 이름입니다.
    Domain 은 사이트의 이름이며, IP는 네트워크 내부에서의 주소입니다.
  • <port> 는 지정된 호스트 내 연결을 위해 필요합니다.
    HTTP 연결의 공식적인 기본 포트는 80이며, 8080이기도 합니다만, 다른 포트를 사용할 수 있습니다.
    HTTPS의 기본 세팅은 443입니다.
  • <path> 는 도메인 내의 특정한 파일 혹은 페이지의 정확한 주소를 지정합니다.
  • <request parameters> 는 서버로 전송되는 파라미터들입니다.
    사이트는 요청 파라미터들에 의존하여 디스플레이가 약간 다를 수 있습니다.
    예를 들어, 서로 다른 순서로 아이템을 정렬 할 수 있습니다.
  • <anchor> 는 웹 페이지 혹은 문서의 세부적인 부분에 연결하게 해 줍니다.

이는 대부분의 URLs에 대한 일반적인 구조입니다.

대부분의 경우, 웹 서버에 위치하는 웹 페이지 혹은 문서에 접속 할 때,

대부분의 파라미터는 필수적이지 않으며 자동적으로 세팅됩니다.


당신이 그저 인터넷 웹 브라우저에 있는 특정 페이지를 보고 싶다면, URL 템플릿은 더 보기 쉬워집니다.

<scheme>://<host>

예를 들어, 다음 형식으로 기록 될 수 있습니다 :

https://www.google.com

이런 단순함은 일반적인 인터넷 유저들의 삶을 쉽게 만들어 주지만,

대부분의 프로그래머는 완벽한 템플릿을 알 필요가 있습니다. 그리고 당신도요.


Absolute and relative URLS - 절대적, 상대적 URL


우리가 아는 것 처럼, URL은 여러 부분으로 구성되어 있으며,

당신이 같은 사이트를 통해 브라우징 할 때, 몇 가지 요소들은 그대로 똑같습니다.

JetBrains에서 만든 어떠한 IDE 에 대한 정보를 읽던 간에,

schema (스키마) 와 host (호스트) 는 언제나 동일합니다.

예를 들어, https://www.jetbrains.com 가 됩니다.

해당 도메인에서 IDE에 대한 정보를 읽고 싶다면,


각 링크에 있는 새로운 정보는 <path> 입니다.

이들은 같은 사이트 위에서 리소스들이 다른 방식으로 위치하는데, <path>?<request parameters>#<anchor> 로 존재합니다.

완성된 웹 주소는 absolute (절대적인) URL로 불리는 동안,

이에 대한 더 짧은 버전은 relative (상대적인) URL 로 부릅니다.

이러한 용어들은 밑의 예시에서 보여줍니다.

|                                 절대적 경로 (absolute url)                      |
<scheme>://<login>:<password>@<host>:<port>/<path>?<request parameters>#<anchor>
                                           |      상대적 경로 (relative url)      |
|       절대적 경로         |
https://www.jetbrains.com/pycharm/
https://www.jetbrains.com/go/
https://www.jetbrains.com/idea/
                         | 상대적 경로 |

이는 같은 사이트에서만 동작하며, 다른 사이트에서는 상대적 경로를 참조 할 수 없다는 것을 기억해야 합니다.


우리는 인터넷에서 절대적 경로 (absolute URLs) 를 통해 쉽게 리소스를 찾을 수 있다는 걸 알고 있습니다.

그러나, 우리에게 왜 상대적 경로 (relative URLs) 가 필요할까요?

여기에 그에 대한 주요적인 이유들이 있습니다 :


  • 이는 짧으며, 코딩에 더 접근성이 좋아집니다.
  • 우리는 사이트에서 다른 호스트로 움직이기 더 쉬워지는데,
    이는 상대적 경로가 특정 도메인에 의존하지 않기 때문입니다.
  • 브라우저에서 조금 더 검색하기 빠릅니다.

Conclusion - 결론


이번 주제에서 URLs 에 대해 배운 것들을 요약 해 봅시다 :

  • URL 을 통해 인터넷에 있는 리소스를 위치할 수 있습니다.
  • 각 URL은 여러 부분으로 이루어져 있지만, 그 중 일부는 선택적입니다.
  • 우리는 절대적 URL 에 의해 리소스를 검색하며, 그리고 나선 상대적 경로로 검색합니다.


words to remember


megalopolis : 거대 도시, 대도시

Given : 주어진

come up with : 생각 해 내다

transmit : 전송, 부치다

ordinary : 평범한, 보통의, 보통 수준의

whichever : 어느 쪽이든, 어느 것이든지, 어느 쪽이 ... 든지

댓글수2