URL | Uniform Resource Locator

가잉·2025년 3월 25일

CS

목록 보기
1/2
post-thumbnail

URL은 웹 사이트를 방문하거나 API를 호출할 때 서버와 클라이언트가 어떤 리소스를 요청할지 정확하게 지정하는 주소 체계입니다.

웹 개발, API 통신, 백엔드 서버 구축, 프론트엔드 요청 처리, 그리고 네트워크 보안까지 인터넷 기반 프로그래밍 전 분야에서 반드시 이해하고 있어야 하는 핵심 개념 중 하나입니다.

이번 글에서는 URL이 어떻게 구성되어 있고 각 구성 요소가 어떤 역할을 하는지를 예시와 함께 쉽고 명확하게 정리해보겠습니다.


🌐 URL

URL(Uniform Resource Locator)은 인터넷 상에서 특정 리소스(이미지, HTML 문서, API 등)의 정확한 위치를 식별하고 접근하는 주소 체계입니다.

웹 애플리케이션에서는 다음과 같은 상황에서 URL이 사용됩니다.

  • 사용자가 브라우저 주소창에 입력한 주소
  • JavaScript로 보내는 AJAX 요청
  • 서버의 리다이렉트 처리 대상
  • 백엔드에서 외부 API로 전송하는 HTTP 요청 대상 주소

🧩 URL 기본 구조

URL은 다음과 같은 5가지 구성 요소로 이루어져 있습니다.


scheme://authority/path?query#fragment


항목예시설명
schemehttps://리소스에 접근하는 프로토콜 (http, https, ftp 등)
authoritywww.example.com:80사용자 정보, 호스트명, 포트 번호 포함
path/news/article서버 내의 파일 경로나 API 엔드포인트
query?id=3요청 시 전달할 파라미터 (key=value 형식)
fragment#top문서 내 특정 위치 (브라우저 클라이언트 전용)

🔎 예시

foo://localhost:8080/over/there?name=ferret#nose
구성 요소예시 값설명
schemefoo접근 방식(커스텀 프로토콜 포함 가능)
authoritylocalhost:8080호스트 정보 및 포트 번호
path/over/there자원 경로 또는 API 엔드포인트
query?name=ferret요청 파라미터
fragment#nose문서 내 특정 섹션 이동 (서버 전달 X)

💡 유의사항

🔸 query는 선택 사항입니다.

URL에 따라 생략될 수도 있고 여러 개 붙을 수도 있습니다.

query string 은 클라이언트가 서버에 전달할 추가 데이터를 담습니다.

  • 형식: ?key=value&key2=value2
  • 서버에서는 보통 GET 요청의 파라미터로 파싱됩니다.
  • 파라미터가 없는 경우 생략이 가능합니다.
[예시]
https://example.com/search?keyword=python&page=2
  • keyword=python → 검색어
  • page=2 → 2페이지 요청

만약 쿼리 정보가 필요 없다면 아래처럼 생략도 가능합니다.

[예시]
https://example.com/search

🔸 fragment는 브라우저 전용입니다.

서버에는 전혀 전달되지 않으며 단지 화면 위치만 이동합니다.

fragment 식별자#으로 시작하며 HTML 문서 내부의 특정 위치(섹션)로 스크롤을 이동시킬 때 사용됩니다.
서버에는 전달되지 않고 오직 브라우저(클라이언트)에서만 동작합니다.

[예시]
https://docs.python.org/3/tutorial/index.html#strings
  • 위 URL을 열면 문서 전체가 로딩되고 브라우저가 자동으로 #strings 섹션으로 스크롤 이동합니다.
  • 서버 입장에서는 #strings는 전혀 보이지 않으며 그냥 /index.html만 받습니다.

🔸 authority 안에는 사용자 인증 정보도 포함될 수 있습니다.

authority에는 user:password@host:port 형식으로 사용자 인증 정보와 호스트 정보를 함께 포함할 수 있습니다.

[예시]
ftp://user123:secret@ftp.example.com:21/files
항목
사용자 IDuser123
비밀번호secret
호스트명ftp.example.com
포트 번호21 (FTP 기본 포트)
경로/files
  • 이런 URL은 FTP나 Basic 인증 기반 서비스에서 종종 사용됩니다.
  • 웹 브라우저에는 보안상의 이유로 거의 사용하지 않습니다.
  • 하지만 시스템 통신, CLI, 자동화 스크립트에서는 유용합니다.
profile
공부합니다.

0개의 댓글