웹 개발을 하면서 가장 많이 만나는 것 중에 하나가 URL이지 않을까요?
막연하게 알고 있던 URL을 조금 더 깊게 알기 위해 한번 정리하는 시간을 가져볼까합니다.
URL이란?
URL은 Uniform Resource Locator의 약자입니다.
Uniform : 형식
Resource : 자원
Locator : 위치자
이러한 단어의 뜻을 조합해보면,
"자원의 위치를 나타내는 형식, 문법"
으로 표현할 수 있겠네요.
간단히 말해 URL은 브라우저를 통해,
웹 서버 상에 존재하는 다양한 자원(html, 이미지 등의 다양한 파일, 이메일, 데이터베이스)에 접근하는데 사용됩니다.
URL의 형식
1. Scheme : URL의 첫번째 부분은 브라우저가 리소스를 요청하는데 사용하는 프로토콜을 나타냅니다. 일반적인 웹사이트의 경우 http, https(보안이 적용된 버전)
2. Domain Name : Scheme와 Domain Name 사이는 :// 으로 구분됩니다. Domain Name은 리소스가 호스팅되는 서버의 주소를 나타내고 주로 "www.example.com"의 형식으로 표현됩니다. 사람이 읽을 수 있는 문자 형태이며, DNS에 의해서 IP 주소로 변환됩니다.
3. Port : 포트는 리소스에 접근하는 데 사용되는 네트워크 포트 번호를 지정합니다. 프로토콜 별로 지정된 포트 번호가 있으며, (http : 80, https : 443) http와 https를 사용하는 경우엔 일반적으로 생략이 가능하나, 그렇지 않으면 필수로 입력해야합니다.
4. Path : 웹 서버에 있는 리소스의 경로를 나타냅니다. 웹 초기에는 이와 같은 경로가 웹 서버의 실제 파일 위치를 나타냈지만, 요즘에는 실제 파일의 위치를 나타내지는 않고 어떤 경로로 접근 했을 시, 서버에서 그 추상적 경로에 맞는 물리적 파일을 파싱해서 전달해주는 방식으로 작동합니다. (URI : Uniform Resource Identifier)
5. Parameters : 웹 서버에 제공하는 추가 매개변수입니다. 물음표 기호(?)로 시작하며, & 기호로 구분된 키와 값으로 이루어져있습니다. 웹 서버는 리소르를 반환하기 전에 이러한 매개변수를 사용하여 추가 작업을 수행할 수 있습니다. Query Parameter라고도 하며, 전달되는 값은 모두 문자열이기 때문에, Query String이라고도 표현합니다.
6. Anchor : 리소스 자체에 어떤 부분에 대한 앵커입니다. HTML 페이지에서 섹션 별로 Anchor을 부여하고, 그 Anchor로 이동했을 시 부여되는 일종의 책갈피 역할입니다. 프래그먼트 식별자라고도 하며, # 뒤의 요청은 웹 서버로 접근할 때 부여하지 않고 해당 파일 내부에서만 사용됩니다.
웹 서비스를 개발할 때 가장 빈번히 일어나는 API Call 시
URL을 항상 사용했는데 그 개념이 명확하지 않아서
정리의 필요성을 느낀 것 같다.
이제 다음에는 HTTP 메서드를 정리해봐야하지 않을까싶다.
'WEB > HTTP' 카테고리의 다른 글
HTTP 응답 상태 코드 (0) | 2023.10.02 |
---|---|
HTTP Methods (0) | 2023.10.01 |
HTTP 메시지 (0) | 2023.09.30 |