[HTTP 완벽 가이드] 02장. URL과 리소스

정은아·2024년 9월 30일

1부 HTTP: 웹의 기초

02. URL과 리소스


🎨 URL

🔔 URL(Uniform Resource Locator) : 인터넷 리소스를 가르키는 표준 이름

  • URL은 브라우저가 정보를 찾는데 필요한 리소스의 위치를 가리키며,
    URL을 이용해 사람과 애플리케이션이 리소스를 찾고 사용하며 공유 할 수 있다.
  • URL은 HTTP프로토콜이 아닌 다른 가용한 프로토콜을 사용할 수도 있다.
  • URL이 있기 전에는 데이터에 접근하기 위해서 애플리케이션마다 다르게 가지고 있는 분류 방식을 사용했다.

🎨 URL 문법

  • URL로 인터넷상의 모든 리소스를 찾을 수 있지만,
    그 리소스들은 다른 스킴을 통해 접근 할 수 있으며, URL문법은 스킴에 따라서 달라진다.
  • 대부분의 URL스킴의 문법은 일반적으로 9개의 부분으로 나뉜다.

<스킴:>//<사용자이름>:<비밀번호>@<호스트>:<포트>/<경로>;<파라미터>?<질의>#<프래그먼트>

  • 스킴(어떻게) : 알파벳으로 시작해야 하고, ‘:’ 로 URL의 나머지 컴포넌트들과 분리된다. 대소문자를 가리지 않음
    ex. http, https, mailto, ftp, rtsp, file, news, telnet
  • 호스트(어디에) : 호스트 컴포넌트는 접근하려고 하는 리소스를 가지고 있는 인터넷상의 호스트 장비를 가리킨다.
  • 경로(무엇을) : ex. /seasonal/index-fall.html
  • 포트 컴포넌트 : 서버가 열어놓은 네트워크 포트를 가리키고, 내부적으로 TCP 프로토콜을 사용하는 HTTP는 기본 포트로 80을 사용한다.
  • 사용자 이름과 비밀번호 : 애플리케이션이 FTP와 같이 사용자 이름과 비밀번호를 요구하는 URL 스킴을 사용한다면, 그 값들이 삽입되어 있지 않을 경우 기본 사용자 이름과 비밀번호 값을 넣어 놓을 것이다. 사용자 이름은 anonymous, 비밀번호는 브라우저마다 가지고 있는 기본값을 사용한다.
  • 파라미터 : Matrix parameter 라는 명칭이 있고 웹 표준이 아니다.
  • 프래그먼트: 리소스 내의 조각을 가리키는 컴포넌트이며 서버로 보내지 않고, 브라우저에서 표시한다.

🎨 단축 URL

  • URL 일부를 입력하면 나머지 부분을 자동으로 입력해주는 브라우저 기능을 뜻한다.
  • 호스트명 확장 : naver 입력하면, https://www.naver.com/. 프록시 또는 다른 HTTP 문제가 발생할 수 있다.
  • 히스토리 확장 : 과거에 사용자가 방문했던 URL의 기록을 저장한다.

🎨 상대 URL, 절대 URL

  • 절대 URL : 리소스 접근에 필요한 모든 정보 가진다.
  • 상대 URL : 모든 정보를 얻기 위해 base를 이용하여 새로운 절대 URL을 생성한다. (프래그먼트 or URL의 일부)

🎨 안전한 URL 설계

  • 안전한 전송이란 정보가 유실될 위험 없이 URL을 전송할 수 있는 것이다.
  • 일반적으로 안전한 알파벳 문자만 포함하도록 허용한다.
  • URL에 있는 안전하지 않은 문자들을 표현할 수 있는 인코딩 방식이 고안되었다.
  • 안전하지 않은 문자를 [% + ASCII 코드]로 표현되는 이스케이프 문자로 바꾼다.
  • URL 예약어(%, /, ., .., #, ?, ;,:, $,+, @ & = 등)는 인코딩이 필요하다. (몇몇 게이트웨이와 프로토콜에서 혼동되기 때문)

🎨 스킴의 바다

🔔 웹에서 쓰이는 일반 스킴들의 포맷에 대해 알아보자.

스킴설명
httpHTTP 스킴으로, 일반적인 URL 형식을 따르지만, http 사용자명이나 비밀번호는 포함되지 않는다.
포트 값이 생략되면 기본 값은 80이다.
httpshttp 스킴과 거의 유사하지만, https는 http 연결 양 끝을 암호화하며,
넷스케이프에서 개발한 보안 소켓 계층(SSL)을 사용한다. 기본 포트 값은 443이다.
mailto이메일 주소를 나타낸다.
ftpFTP 서버에서 파일을 다운로드하거나 업로드할 수 있으며,
서버 디렉터리의 내용을 가져오는 데 사용된다.
rtsp, rtspu실시간 스트리밍 프로토콜을 통해 읽을 수 있는 오디오 및 비디오와 같은 미디어 리소스를 식별한다.
file주어진 호스트 장치에서 직접 액세스할 수 있는 파일을 나타낸다.
newsRFC 1036에서 정의된 대로 특정 문서나 뉴스 그룹에 접근하는 데 사용된다.
telnet원격 호스트에서 명령어를 실행하기 위해 사용하는 상호작용 서비스 스킴이다.
profile
꾸준함의 가치를 믿는 개발자

0개의 댓글