HTTP 2장 URL과 리소스

황상진·2022년 7월 25일
0

HTTP

목록 보기
3/5
post-thumbnail

URL과 리소스

  • URL은 인터넷의의 리소스를 가리키는 표준이름이다. 이를 사용하여 전자정보가 어디에 있고 어떻게 접근할 수 있는지 알려준다.

인터넷의 리소스 탐색하기

  • URL은 브라우저가 정보를 찾는데 필요한 리소스의 위치를 가리키고, URI의 부분집합이다. 또한 HTTP, mailto(이메일), ftp(서버에 올라가 있는 파일), rtsp(비디오 서버에 호스팅하고 있는 영화)와 같이 다른 가용한 프로토콜을 사용할 수 있다.

  • URL이 있기 전 암흑의 시대 → 리소스에 접근하기 위한 방법이 너무 다르고, 복잡하였음

  • URL을 사용하여 하나의 인터페이스를 통해 일관된 방식으로 많은 리소스에 접근이 가능하다. 그리고 웹 브라우저는 HTTP 클라이언트이기에 URL을 다루고, 특정 리소스(예: 스킴)를 다루기 위해 별도의 애플리케이션을 사용하기도 한다.

URL 문법

scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]

  1. scheme : 사용할 프로토콜을 뜻하며 웹에서는 http 또는 https를 사용
  2. user와 password : (서버에 있는) 데이터에 접근하기 위한 사용자의 이름과 비밀번호
  3. host와 port : 접근할 대상(서버)의 호스트명과 포트번호
  4. path : 접근할 대상(서버)의 경로에 대한 상세 정보
  5. query : 접근할 대상에 전달하는 추가적인 정보 (파라미터)
  6. fragment : 메인 리소스 내에 존재하는 서브 리소스에 접근할 때 이를 식별하기 위한 정보

단축 URL

  • 웹클라이언트는 몇몇 단축 URL을 인식
  • 상대 URL은 리소스 안에 있는 리소스를 간결하게 기술하는데 사용

상대 URL

  • URL은 상대 URL과 절대 URL로 나뉜다.
    1. 절대 URL: http부터해서 스킴, 호스트, 포트, 경로까지 다 적어주는것
    1. 상대 URL: 기저(base)URL을 사용하여, URL의 일부를 가지고 리소스의 위치를 찾아냄. 상대 URL은 프래그먼트나 URL 일부이며 브라우저 같은 애플리케이션은 상대 URL과 절대 URL 간에 상호 변환을 할 수 있어야 한다. → 상대 url의 장점은 문서 집합의 위치를 변경하더라도 새로운 기저 URL에 의해 해석되어 위치 변경시에도 잘 동작한다.

URL 확장

  • 호스트명 확장: 휴리스틱만 사용하여 호스트명에 ‘www.’와 ‘.com’을 붙여서 만든다.
  • 히스토리 확장: 과거 URL기록을 이용하여 URL 입력시, 완결된 형태의 URL을 보여준다.

안전하지 않은 문자

  • 안전한 전송: 정보가 유실될 위험 없이 URL을 전송하는 것을 의미
    → 이를 위해 작고 일반적으로 안전한 알파벳 문자만 포함, 이스케이프 기능을 추가하여 안전하지 않은 문자를 안전한 문자로 인코딩할 수 있게 함

URL 문자 집합

  • 7비트 US-ASCII 문자 집합을 사용

인코딩 체계

  • 안전하지 않은 문자를 퍼센티지 기호(%)로 시작해 ASCII 코드로 표현되는 두 개의 16진수 숫자로 이루어진 ‘이스케이프' 문자로 바꾼다.

ex) ~ → %7, 빈 문자 → %20 , % → %25

문자 제한

  • 몇몇 문자는 URL내에 특별한 의미로 예약되어 있어 다른 용도로 사용하려면 그 전에 반드시 인코딩 해야한다.

  • %: 이스케이프 토큰

  • /: 경로 세그먼트를 나누는 용도

  • 그외: ., .., #, ?, ;, :, $, +, @ & =등등..

스킴의 바다

  • http: 일반 URl 포맷을 지키는 하이퍼텍스트 전송 프로토콜 스킴

  • https: 커넥션의 양 끝단에서 암호화하기 위해 넷스케이프세 개발한 보안 소켓 계층 (기본 포트값 443)

  • mailto: 이메일 주소를 가리킨다.

  • ftp: 파일 전송 프로토콜

  • rtsp, rtspu: 실시간 스트리밍 프로토콜

  • file: 주어진 호스트 기기에서 바로 접근할 수 있는 파일들을 나타냄

  • news: 특정 문서나 뉴스 그룹에 접근하는데 사용

  • telnet: 대화형 서비스에 접근

미래

  • URL은 인터넷 프로토콜 간에 공유할 수 있는 일관된 작명 규칙 제공 → 그러나 리소스가 옮겨지면 URL을 더는 사용할 수 없는 것이 단점!

  • 그래서 URN(실제 객체의 이름 사용)이라는 새로운 표준 작업에 착수.

  • 지속통합자원지시자(PURL)을 사용하면 URL로 URN기능 제공가능(리소스 위치 중개 서버를 두고, 해당 리소스를 우회적으로 제공)

→ 지속해서 새로운 표준이 적용되어 URL을 대체하려고 적용중이다.

profile
Web FrontEnd Developer

0개의 댓글