Home / AI / AI 용어사전 / URL — 모든 AI 서비스가 시작되는 인터넷 주소 구조
TERM
URL — 모든 AI 서비스가 시작되는 인터넷 주소 구조
On this page
브라우저 주소창에 입력하는 한 줄이 인터넷의 시작이다. ChatGPT에 접속하든, 개발자가 Claude API를 호출하든, 그 요청의 출발점은 항상 URL이다.
정의
URL(Uniform Resource Locator, 통합 자원 위치 지시자)은 인터넷 상의 특정 자원(웹 페이지, 이미지, API 엔드포인트 등)의 위치를 고유하게 식별하는 문자열이다. 프로토콜·호스트·경로·쿼리스트링·프래그먼트의 조합으로 구성되며, 브라우저와 서버 간 통신의 기반이 된다.
URL 구조 분해
https://api.openai.com/v1/chat/completions?model=gpt-4o&stream=true#usage 를 예시로 각 구성요소를 살펴보면:
https://api.openai.com/v1/chat/completions?model=gpt-4o&stream=true#usage
│──────│ │──────────────│ │────────────────────│ │─────────────────────│ │────│
프로토콜 호스트(도메인) 경로(Path) 쿼리스트링 프래그먼트프로토콜(Protocol): http:// 또는 https://로 데이터 전송 방식을 지정한다. https는 TLS/SSL 암호화가 적용된 보안 버전이다. AI API는 예외 없이 https를 사용하며, http 요청은 대부분 거부된다.
호스트(Host): api.openai.com처럼 서버의 도메인 이름 또는 IP 주소를 지정한다. DNS가 이 도메인을 실제 서버 IP로 변환한다.
경로(Path): /v1/chat/completions처럼 서버 내 특정 자원의 위치를 슬래시로 계층화해 표현한다. rest-api 설계에서 경로는 자원(Resource)을 나타내고, http 메서드(GET/POST 등)가 동작을 나타내는 것이 원칙이다.
쿼리스트링(Query String): ? 이후에 오는 key=value 쌍으로, 서버에 추가 파라미터를 전달한다. &로 여러 파라미터를 연결한다. GET 요청에서 검색어·필터 조건을 전달하는 데 주로 사용된다.
프래그먼트(Fragment): # 이후 부분으로 페이지 내 특정 위치를 가리킨다. 서버로 전달되지 않고 브라우저에서만 처리된다. API 문서의 특정 섹션 링크에서 자주 볼 수 있다.
AI API 엔드포인트에서 URL의 역할
AI 서비스 개발에서 URL은 단순한 주소 이상의 의미를 갖는다. API 버전 관리·기능 분기·인증 경로가 모두 URL 구조에 반영된다.
import anthropic
# Anthropic API 기본 URL은 SDK 내부에서 자동 설정됨
# https://api.anthropic.com/v1/messages
client = anthropic.Anthropic()
# 엔드포인트 경로: /v1/messages (POST)
message = client.messages.create(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "URL 구조를 설명해줘"}]
)OpenAI API의 경우 베이스 URL을 변경해 서드파티 호환 모델 서버(Ollama, vLLM 등)를 연결할 수 있다:
from openai import OpenAI
# 로컬 Ollama 서버로 베이스 URL 변경
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # 로컬 서버는 인증 불필요
)URL 인코딩
URL에는 영문자·숫자·일부 특수문자(-, _, ., ~)만 직접 포함 가능하다. 한글·공백·특수문자는 퍼센트 인코딩(Percent Encoding)이 필요하다.
"AI 뉴스" → "AI%20%EB%89%B4%EC%8A%A4"
공백(" ") → "%20"
한글 "뉴" → "%EB%89%B4" (UTF-8 바이트를 16진수로 표현)검색 API 호출 시 사용자 입력을 URL에 직접 삽입하면 인코딩 문제와 함께 injection 취약점이 발생할 수 있어, Python의 urllib.parse.urlencode() 같은 라이브러리 함수를 사용하는 것이 안전하다.
활용 사례
- API 버전 관리:
/v1/,/v2/처럼 경로에 버전을 명시해 기존 클라이언트와의 하위 호환성을 유지한다. - cdn 최적화: 정적 자원 URL에 버전 해시를 포함(
/assets/main.a3f2c1.js)해 캐시 무효화를 자동화한다. - OAuth 인증 콜백: 소셜 로그인 후 사용자를 돌려보낼
redirect_uri를 URL로 지정하며, 등록된 URL과 일치해야만 인증이 허용된다. - 웹훅(Webhook): Make.com·Zapier 같은 자동화 툴이 이벤트 발생 시 지정된 URL로 POST 요청을 보내 파이프라인을 트리거한다.
관련 용어
- http — URL을 통해 자원을 요청·응답하는 프로토콜
- rest-api — URL로 자원을 표현하고 HTTP 메서드로 동작을 구분하는 API 설계 원칙
- dns — URL의 도메인 이름을 서버 IP 주소로 변환하는 시스템
- cdn — URL 경로 기반으로 정적 자원을 지리적으로 가까운 서버에서 전달하는 네트워크
- api — AI 서비스가 URL 엔드포인트로 기능을 외부에 노출하는 인터페이스