[One-Day Tech Talk] Http URL의 구조 알아보기

황제연·2025년 2월 22일

CS학습

목록 보기
12/194
post-thumbnail

서론

지난 번 URI VS URL VS URN 글에 이어
이번에는 Http URL의 구조를 보다 자세히 정리했습ㄴ디ㅏ

Http URL의 구조

URL의 구조는 아래와 같은 형식으로 구성됩니다

http://<host>:<port>/<path>?<searchpart>

실제 예시를 통해 살펴보겠습니다

https://velog.io/@hwangjeyeon/posts?page=1

각 구성 요소에 대해 자세히 알아보겠습니다

SCHEME

URL의 첫 번째 부분으로 브라우저가 리소스를 요청할 때 사용하는 프로토콜을 나타냅니다
일반적으로 Http나 Https 프로토콜을 사용합니다

AUTHORITY

URL의 두번째 부분으로 도메인 이름과 포트번호를 포함하는 영역입니다
SCHEME와 :// 패턴으로 구분됩니다

  • 도메인 이름의 영역은 ip주소로 대체될 수 있습니다
  • 포트 번호는 HTTP와 HTTPS의 표준 포트인 80이나 443의 경우 일반적으로 생략합니다
  • 그 이외의 경우는 필수로 포트번호를 작성해야 합니다
http://192.168.0.5:8080/index.html

서버 배포경험이 있는 백엔드 개발자라면 위와같이 포트번호가 포함된 주소를 자주 접했을 것입니다!

PATH

자원의 경로를 의미합니다

/@hwangjeyeon/posts

예시 주소에서 위 영역이 자원의 경로를 의미합니다

PARAMETER

?page=1

웹 서버에 전달되는 쿼리 파라미터로 요청한 리소스에 대한 추가적인 작업을 수행할 수 있도록 합니다
서버는 이 파라미터를 활용해 사용자의 요청에 맞는 결과를 반환할 수 있습니다

URI 영역

FRAGMENT (ANCHOR)

fragment 영역으로 엄밀히 말하면 URL의 영역이 아닌 URI의 영역입니다

https://velog.io/@hwangjeyeon/posts?page=1#top

위와같이 #(fragment)를 붙여 표현하며,
웹 페이지 내, 특정 위치로 이동할 떄 사용합니다

위 URI는 페이지 내 특정 지점인 최상단으로 이동하는 역할을 합니다
또한 fragment는 서버에 요청되지 않으며, 브라우저가 클라이언트 측에서 처리합니다

URL과 관련된 세부정보

위에서 정리한 내용은 http URL에 대한 구조입니다.
그러나 scheme에 따라 URL의 구조는 차이가 있을 수 있습니다

프로토콜 구분 세부정보

프로토콜 이름 뒤에는 ':'을 사용해 구분합니다.
만약 IP나 도메인 이름 정보가 필요한 프로토콜이라면 추가로 '//'을 적습니다

예시

https://velog.io/@hwangjeyeon/posts/my.gif

HTTP 프로토콜은 도메인 이름가 필요합니다.
따라서 '://'가 작성되었습니다

malito:kingpele9018@gmailc.om

그러나 위와같이 이메일 주소를 나타내는 malito 프로토콜의 경우,
IP나 도메인 이름이 필요하지 않습니다.
따라서 ':'만 작성되었습니다

정리

HTTP URL은 Scheme, Authority, Path, Parameter로 이루어져 있습니다

Scheme는 프로토콜을 작성하는 영역이며, 프로토콜에 따라 작성방식이 달라집니다

Authority는 IP주소나 도메인 이름을 작성하는 영역입니다.
80, 443 포트가 아닌 경우 필수로 포트번호도 작성해야합니다

Path 영역은 자원의 경로를 의미합니다

Parameter는 웹 리소스에 대한 추가적인 작업을 할 수 있습니다

Fragment(Anchor)는 현재 리소스의 특정 부분으로 이동할 수 있습니다.
서버에 요청하지 않으며, 엄밀히 말하면 URI의 영역입니다

ip주소나 도메인 이름을 필요로 하는 프로토콜인 경우 구분자를 '://'로,
그 외의 경우는 구분자를 ':'로 사용합니다

참고

profile
Software Developer

0개의 댓글