URL(Uniform Resource Locator)은 통합 자원 식별자로, 인터넷에서 특정 자원(웹 페이지, 이미지, 파일 등)의 위치를 가리키는 주소입니다. URL을 사용하면 웹 브라우저나 애플리케이션이 특정 서버에 있는 리소스에 접근할 수 있습니다. URL은 웹에서 리소스에 접근할 수 있는 경로를 제공하는 기본적인 방법입니다.
💡 URL의 구성 요소
URL은 여러 요소로 이루어져 있으며, 각 부분은 자원에 대한 정보를 제공하거나, 서버에 요청하는 방식을 지정합니다. 일반적인 URL의 형태는 다음과 같습니다:
프로토콜://사용자정보@호스트:포트/경로?쿼리#프래그먼트
1. 프로토콜(Protocol):
- 자원에 접근하기 위한 방식을 나타냅니다. 주로 사용되는 프로토콜은 HTTP, HTTPS가 있으며, 파일 시스템을 가리킬 때는 FTP나 file 같은 프로토콜도 사용됩니다.
- 예:
http://
,https://
,ftp://
2. 사용자 정보(User Info) (선택 사항):
- 자원에 접근하기 위한 인증 정보를 포함할 수 있습니다. 보통 아이디와 비밀번호 형식으로 표현됩니다. 그러나 웹에서는 보안상의 이유로 자주 사용되지 않습니다.
- 예:
username:password@
3. 호스트(Host):
- 자원을 제공하는 서버의 주소를 나타냅니다. 보통 도메인 이름 또는 IP 주소로 구성됩니다.
- 예:
www.example.com
또는192.168.1.1
4. 포트(Port) (선택 사항):
- 서버에 접근하기 위한 포트 번호입니다. 포트는 주로 기본 포트(HTTP의 경우 80, HTTPS의 경우 443)를 사용하지만, 특정한 경우 다른 포트 번호를 명시할 수 있습니다.
- 예:
:8080
(서버의 8080 포트로 연결)
5. 경로(Path):
- 서버 내에서 자원이 위치한 경로를 가리킵니다. 경로는 파일이나 디렉토리 구조처럼 나타내며, 서버에서 해당 자원에 대한 위치 정보를 제공합니다.
- 예:
/docs/resource.html
,/images/photo.jpg
6. 쿼리(Query) (선택 사항):
- 자원에 대한 추가적인 정보를 전달하는 부분입니다. 일반적으로 키=값 형식으로 표현되며, 여러 개의 파라미터를
&
로 구분하여 사용할 수 있습니다. 주로 GET 요청에서 파라미터를 전달할 때 사용됩니다. - 예:
?search=query&lang=en
7. 프래그먼트(Fragment) (선택 사항):
- 자원의 특정 부분을 가리킵니다. 주로 HTML 문서 내의 특정 위치나 섹션을 가리키기 위해 사용됩니다. 브라우저는 이 정보를 사용해 해당 위치로 스크롤하거나, 특정 요소를 강조할 수 있습니다.
- 예:
#section1
💡 URL의 예시
- 웹 페이지 URL:
- 프로토콜:
https
- 호스트:
www.example.com
- 경로:
/docs/tutorial.html
- 프로토콜:
https://www.example.com/docs/tutorial.html
- 쿼리 문자열을 포함한 URL:
- 프로토콜:
https
- 호스트:
www.example.com
- 경로:
/search
- 쿼리:
query=java&lang=en
- 프로토콜:
https://www.example.com/search?query=java&lang=en
- 포트 번호가 포함된 URL:
- 프로토콜:
http
- 호스트:
localhost
- 포트:
8080
- 경로:
/app/home
- 프로토콜:
http://localhost:8080/app/home
- 프래그먼트가 포함된 URL:
- 프로토콜:
https
- 호스트:
www.example.com
- 경로:
/page.html
- 프래그먼트:
#section2
- 프로토콜:
https://www.example.com/page.html#section2
💡 URL과 URI, URN의 차이점
- URL (Uniform Resource Locator): 자원에 접근할 수 있는 주소를 제공하며, 위치를 나타냅니다.
- 예:
https://www.example.com/resource.html
- 예:
- URI (Uniform Resource Identifier): URL을 포함한 더 일반적인 개념으로, 자원을 식별하는데 사용됩니다. URL과 URN이 URI의 하위 개념입니다.
- URI는 자원의 위치(URL)나 이름(URN)을 모두 포함할 수 있습니다.
- URN (Uniform Resource Name): 자원의 고유한 이름을 나타내는 방식으로, 자원의 위치와는 관계없이 자원을 식별합니다.
- 예:
urn:isbn:978-3-16-148410-0
(특정 책의 ISBN 번호)
- 예:
💡 URL의 역할
- 웹 브라우징: 사용자가 웹 브라우저에 URL을 입력하면, 브라우저는 이를 기반으로 해당 자원을 요청하고 웹 페이지를 로딩합니다.
- API 요청: 클라이언트가 RESTful API에 요청을 보낼 때, URL을 통해 서버에 자원을 요청하거나 데이터를 전달합니다.
- 파일 다운로드: 특정 파일을 다운로드할 때, URL을 사용하여 파일의 위치를 지정하고 이를 클라이언트에 전달합니다.
결론
URL은 인터넷 상의 자원에 접근하기 위한 경로를 나타내며, 다양한 요소들(프로토콜, 호스트, 경로, 쿼리, 프래그먼트 등)로 구성됩니다. URL은 자원의 위치를 나타내는 데 사용되며, 클라이언트가 서버의 특정 리소스에 접근할 수 있도록 도와줍니다. 이를 통해 웹 브라우징, API 호출, 파일 다운로드 등 다양한 작업이 이루어집니다.
'Network Study' 카테고리의 다른 글
세션 어트리부트 - 서블릿 컨테이너에서 세션 관리, HTTP는 무상태 프로토콜 (0) | 2024.10.10 |
---|---|
RESTful API (OPEN API) (0) | 2024.10.08 |
로드밸런싱과 클러스터링 (0) | 2024.10.08 |
정적, 동적 서버 (2) | 2024.10.07 |
쿠키, 세션, JSON 웹 토큰(JWT) (1) | 2024.09.30 |