글 작성자: 개발자 올라프

URL 이란

 

URL(Uniform Resource Locator)은 네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약이다. 쉽게 말하면 웹 페이지를 찾기 위한 주소를 말한다. 흔히 웹 사이트 주소로 알고 있지만, URL은 웹 사이트 주소뿐만 아니라 컴퓨터 네트워크 상 자원을 모두 나타낼 수 있다. 그 주소에 접속하려면 해당 URL에 맞는 프로토콜을 알아야 하고, 그와 동일한 프로토콜에 접속해야 한다. FTP는 FTP 클라이언트를 이용해야 하고, HTTP인 경우에는 웹 브라우저를 이용해야 한다. (출처 : 나무위키)

 


 

URL 구조 이해하기

 

스킴, 호스트 주소, 경로가 항상 URL에 포함되어야 하며, 나머지는 포함되지 않아도 된다.

 

구성 요소

  • 스킴(scheme)
  • 호스트 주소(host)
  • 포트 번호(port)
  • 경로(path)
  • 쿼리(query)
  • 프래그먼트(fragment)

 


 

스킴

 

  • 사용할 프로토콜을 의미하며 리소스에 어떻게 요청, 접근할 것인지를 명시한다.
  • 웹을 이용할 때는 HTTP 프로토콜을 이용하며, 최근에는 HTTP에 보안을 더한 HTTPS 프로토콜을 더욱 많이 사용한다.
  • 이 외에도 ftp(파일서버 접속), mailto(전자메일 접속), telnet(원격지 접속) 등의 프로토콜 식별자가 있다.

 

**프로토콜 : 컴퓨터 내부 또는 컴퓨터 사이에서 데이터의 교환 방식(통신)을 정의하는 규칙 체계이다. 기기 간 통신은 교환되는 데이터의 형식에 대해 상호 합의를 요구한다. 이런 형식을 정의하는 규칙의 집합을 프로토콜이라 한다.

 


 

사용자 이름, 비밀번호

 

  • 일부 서버의 데이터에 접근하기 위해서는 사용자의 이름과 비밀번호를 요구한다.
  • 웹 서버에 사용자 이름, 비밀번호를 요구하는 스킴을 사용함에 불구하고 명시하지 않고 접근하면 임의의 값으로 사용자 이름에는 'anonymous'를, 비밀번호는 브라우저의 기본 값을 따른다.

 


 

호스트 주소

 

  • 도메인 명 혹은 IP 주소가 들어가며 컴퓨터의 주소를 표시하는 영역이다.
  • 호스트 주소는 네트워크에 연결된 장치 또는 서버들에 부여되는 고유한 이름으로 IP 주소와 같은 기계적인 이름 대신에 사람이 쉽게 읽을 수 있는 이름으로 작성된다.

 


 

포트 번호

 

  • 네트워크, 인터넷을 사용하여 통신하는 각 응용 프로그램 또는 프로세스의 논리 주소로 0 ~ 65,535 까지의 포트 번호를 사용한다.
  • 포트번호를 입력하지 않으면 프로토콜이 가지고 있는 기본 포트번호가 적용되며 HTTP에는 80, HTTPS에는 443이 기본으로 적용된다.

 

포트를 언제 사용할까?

특정 서버에 접속하기 위해서 URL 혹은 IP 주소를 입력하게 되면 해당 서버가 있는 컴퓨터로 찾아가게 된다. 하지만 대부분의 컴퓨터에서는 여러 프로그램이 동시에 실행되고 있기 때문에 어느 프로그램이 접속하고 싶은 프로그램인지 컴퓨터에게 알려주어야 한다. 이 때 포트 번호가 어떤 프로그램에 접속할 것인지 컴퓨터에게 알려주는 역할을 수행한다.

 


 

경로

 

  • 해당 파일 또는 자원이 서버의 어디에 있는지를 나타내는 경로로서 초기 웹에서는 서버상 물리적 파일 위치를 의미했으나, 최근에는 실제 물리적 경로를 나타내지 않고, 웹 서버에서 추상화하여 보여준다.

 


 

쿼리

 

  • 클라이언트가 자원을 GET 방식으로 요청할 때, 필요한 데이터를 함께 넘겨 줄 목적으로 사용한다.
  • 검색 결과를 보여주는 검색어를 전달하는 용도로 많이 쓰이며 여러 개면 &문자로 구분한다.

 


 

프래그먼트

 

  • 유일하게 서버로 전달하지 않는 값으로 브라우저 내부에서 사용하는 문맥이다.
  • 리소스내에서 북마크의 한 종류로 브라우저에게 북마크된 지점에 위치한 컨텐츠를 보여주기 위한 방법
  • 리소스 자체의 다른 부분을 가리키는 앵커로 HTML 문서 상 브라우저는 앵커가 정의된 지점으로 스크롤된다.

 


 

참고

 

포트[PORT]에 대하여 - 소우주_D

 

'⭐️ CS & Algorithm > Computer Science' 카테고리의 다른 글

SPA 이해하기  (0) 2023.01.25
CORS란 무엇인가?  (0) 2022.08.16
진수, 진법에 대한 이해  (0) 2021.07.27