URL 구조 이해하기, 파라미터(parameter)란?

URL은 Uniform Resource Locator의 약자로서 네트워크에서 자원이 있는 위치를 나타냅니다. 쉽게 말하면 리소스의 위치를 명시하며 해당 리소스를 불러오는 요청입니다. 리소스의 위치를 표현하는 형식이 url의 구조입니다. 

URL 구조

예시를 통해 URL의 구조를 설명드리겠습니다. 예시 출처는 mozila입니다.

http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument
  • http : 프로토콜입니다. 프로토콜이란 데이터를 교환하거나 전송하기 위한 방식입니다. 웹 사이트에선 대부분 http 또는 https를 사용합니다. 물론 모두 http인 것은 아닙니다. 메일 전송 시 사용하는 mailto나 파일 전송 시 사용하는 ftp 같은 프로토콜도 브라우저에서 사용할 수 있습니다.
  • www.example.com : 도메인입니다. 도메인은 웹 서버의 IP 주소를 찾아갈 때 사용되는 문자 형식입니다. www.example.com을 요청하면 100.127.111.10 처럼 특정한 IP를 찾아가도록 DNS 서버에 매핑이 되어 있습니다.
  • 80 : 포트번호입니다. 포트는 웹 서버에 접근하는 특정한 문입니다. 웹서버가 정해놓은 문을 열고 들어가면 구축된 서비스가 있습니다. 같은 도메인으로도 다수의 포트를 할당해서 여러 서비스를 제공할 수도 있습니다. 참고로 http의 기본 포트는 80이며, https의 기본 포트는 443입니다. 만약 http 요청에 포트번호가 명시되어 있지 않으면 80 포트를 요청합니다.
  • /path/to/myfile.html : 웹 서버 자원의 경로입니다. 이 경우 최종 목적지인 myfile.html 까지의 경로라고 볼 수 있습니다.

URL 파라미터

파라미터는 이 글의 주인공이니 조금만 더 자세히 설명하겠습니다. 파라미터는 매개변수 또는 쿼리 스트링이라고도 합니다. 파라미터는 웹 서버가 정해놓은 규칙에 맞게 키=값 쌍 정보를 전달하기 위해 사용됩니다. 웹 서버는 전달받은 파라미터를 통해 추가적인 작업을 처리합니다. 파라미터를 표현하기 위해 ? = & 기호를 사용합니다.

  • ?key1=value1&key2=value2 : 위 예시에서 파라미터는 이렇습니다. ?를 통해 파라미터가 시작됨을 표기합니다. 이후 키=값으로 정보를 표시합니다. 만약 더 많은 키=값 정보를 보내고 싶으면 &를 구분자로 이용해서 추가로 나열합니다.

 

url 파라미터가 자주 사용되는 게 파일 다운로드 상황입니다. 예를 들어, www.example.com/download.do?fileId=1q2w3e4r5t6y 처럼 사용됩니다. 파라미터를 처리하는 규칙은 웹 서버에서 정해집니다. 위 예시의 경우 "fileId가 1q2w3e4r5t6y인 파일을 찾아서 다운로드를 수행" 정도로 이해할 수 있습니다. 

 

웹 사이트에서 로그인을 할 때도 파라미터를 던집니다. 사용자가 로그인 창에 입력한 아이디와 패스워드를 키=값 쌍으로 서버에 던지면 서버는 DB에 있는 데이터와 일치하는지 확인하고 일치하면 로그인이 된 페이지를 보여줍니다.

 

  • #SomewhereInTheDocument : 예시의 마지막 부분입니다. #을 통해 북마크 기능을 제공합니다. 예를 들어, 특정 사이트의 특정 지점을 스크롤을 이동해 곧바로 보여줍니다. 비디오나 오디오라면 북마크 된 시간으로 바로 보여줍니다.
반응형

댓글

Designed by JB FACTORY