티스토리 뷰

반응형
🌐 URL의 구조와 의미: 완전 정리

🌐 URL의 구조와 의미: 완전 정리


🔷 URL이란 무엇인가

URL(Uniform Resource Locator) 은 인터넷에 존재하는 특정 자원의 위치를 지정하기 위해 사용되는 표준 주소 체계입니다.

우리는 웹사이트를 방문할 때마다 브라우저의 주소창에 어떤 문자열을 입력하거나 링크를 클릭합니다. 그 순간 웹 브라우저가 서버와 통신하기 위해 사용하는 정보가 바로 URL입니다. URL이 없다면 인터넷에 흩어진 수많은 페이지, 이미지, 영상 등을 찾는 것은 불가능합니다. URL은 단순한 문자열처럼 보이지만 그 안에는 “어디서”, “무엇을”, “어떻게” 요청할지에 대한 모든 정보가 담겨 있습니다.


예를 들어, 다음과 같은 주소를 보겠습니다.

https://www.example.com:8080/path/to/page?search=query#section1

이 한 줄의 문자열에는 서버와 클라이언트 간 통신을 위해 필요한 다양한 정보가 하나도 빠짐없이 들어 있습니다. 이제 이 URL의 구조를 하나씩 분해해 보고 각 요소가 어떤 의미와 역할을 갖는지 살펴보겠습니다.


🔷 URL 전체 예시와 구성요소

먼저 URL의 전체 모습을 예시로 보여 드립니다. 아래는 하나의 URL입니다.

https://www.example.com:8080/path/to/page?search=query#section1

이 URL은 총 5개의 주요 요소로 구성되어 있습니다. 표로 전체를 요약하면 다음과 같습니다.

구성요소
Schemehttps
Authoritywww.example.com:8080
Path/path/to/page
Querysearch=query
Fragmentsection1

✅ 1. Scheme (스킴)

정의

URL의 맨 앞에 위치하며, 서버와 통신할 때 사용할 프로토콜(통신 방식) 을 지정하는 부분입니다.

목적

인터넷에는 여러 가지 통신 규칙이 있습니다. 같은 데이터라 하더라도 어떤 방식으로 주고받느냐에 따라 프로토콜이 달라집니다. 브라우저가 어떤 방식으로 서버에 접근해야 하는지를 알려주는 것이 스킴입니다. 스킴이 올바르게 지정되지 않으면 서버가 요청을 이해하지 못해 오류가 발생할 수 있습니다.

예시

  • http:// : 암호화되지 않은 웹 요청
  • https:// : 보안(암호화)된 웹 요청
  • ftp:// : 파일 전송을 위한 프로토콜
  • mailto: : 이메일 작성 프로그램 실행

예를 들어 https://로 시작한다면, 브라우저는 암호화된 연결을 시도합니다.


✅ 2. Authority (권한 정보, 호스트 정보)

정의

스킴 뒤의 // 다음에 나타나는 부분으로, 요청을 보낼 서버의 주소와 포트번호 를 나타냅니다.

목적

인터넷에는 수많은 서버가 있습니다. 그 중 어느 서버에 요청을 보낼지를 명확히 지정하는 것이 필요합니다. 도메인 또는 IP 주소를 통해 정확한 서버로 요청이 전달됩니다. 포트 번호는 선택 사항으로, 서버가 여러 가지 서비스를 제공할 때 특정 포트를 지정해 요청할 수 있도록 합니다.

예시

  • www.example.com : 웹사이트의 도메인명
  • 192.168.0.1 : 서버의 IP 주소
  • example.com:8080 : 8080번 포트로 요청

HTTP 기본 포트는 80, HTTPS 기본 포트는 443이라서 보통은 생략됩니다. 다른 포트를 지정해야 하는 경우에만 명시합니다.


✅ 3. Path (경로)

정의

서버 내부에서 요청할 자원의 위치(폴더 및 파일 경로) 를 지정하는 부분입니다. 도메인 뒤에 /로 시작합니다.

목적

서버의 디렉토리 구조 안에서 어떤 파일을 요청하는지를 정확히 지정합니다. 클라이언트가 경로를 보내면 서버는 그 경로에 해당하는 자원을 찾아 응답합니다.

예시

  • /index.html : 홈페이지 파일
  • /images/logo.png : 이미지 파일
  • /user/profile/1234 : 특정 사용자의 프로필 페이지

서버의 내부 폴더 구조나, 웹 애플리케이션의 라우팅 규칙에 따라 이 경로가 해석됩니다.


✅ 4. Query (질의 문자열)

정의

? 기호 뒤에 위치하며, 요청과 함께 서버에 전달할 추가 데이터(검색어, 필터 조건 등) 를 담는 부분입니다.

목적

사용자가 입력한 검색어, 정렬 순서, 페이지 번호 등과 같이 요청 시 필요한 데이터를 서버에 전달합니다. 서버는 이 데이터를 해석해 적절한 결과를 돌려줍니다.

예시

  • ?q=URL&lang=ko : ‘URL’을 검색하고 언어는 ‘한국어’
  • ?page=2&sort=desc : 2페이지를 내림차순으로 요청

여러 값을 전달할 때는 &로 구분합니다. 질의 문자열이 없을 수도 있습니다.


✅ 5. Fragment (문서 내부 위치)

정의

# 기호 뒤에 위치하며, 문서 내부에서 특정 위치(id를 가진 요소) 로 이동하도록 지정합니다.

목적

길고 복잡한 문서에서 특정 부분으로 바로 이동할 때 유용합니다. 서버에 요청되지 않고, 브라우저가 클라이언트 측에서만 처리합니다.

예시

  • #top : 문서의 맨 위
  • #section3 : 세 번째 섹션

HTML 문서 안에 id="section3"인 요소가 있어야 작동합니다.


🔷 요약

URL은 인터넷 자원의 위치를 가리키는 표준화된 주소입니다.
단순히 ‘어디’에 있는지를 넘어, 어떻게 요청할지, 추가 데이터는 무엇인지, 문서의 어느 부분까지 갈지를 모두 정의합니다.


요소 역할
Scheme서버와의 통신 방식 지정
Authority요청할 서버의 위치 지정
Path서버 내부의 자원 경로 지정
Query요청에 필요한 부가 데이터 전달
Fragment문서 내부의 특정 위치로 이동
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
반응형