HTTP

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

차노도리 2023. 9. 20. 22:48

2장 URL과 리소스

 

2.1 인터넷의 리소스 탐색하기

  • URL
  • 서버 주소 :
    • 서버의 위치로, 웹 클라이언트가 리소스 어디에 호스팅 되어있는지 알려 준다.
  • 리소스 경로
    • 서버에 존재하는 로컬 리소스들 중에서 요청받은 리소스가 무엇인지 알려준다.
    • ex)
서버 경로 : www.joes-hardware.com
리소스 경로 : /seasonal/index-fall.html

 

2.1.1 URL이 있기 전 암흑의 시대

ftp.joes-hardware.com에 위치한, pub디렉터리의 complete-catalog.xls 파일을 공유하는 방법

 

  • URL을 사용 안 할 경우
  1. ftp.joes-hardware.com에 FTP로 접속한다.
  2. 익명 사용자로 로그인을 한다.
  3. pub 디렉터리로 이동한다.
  4. complete-catalog.xls을 내려받는다.
  • URL을 사용할 경우
  1. 브라우저에서 ftp://ftp.joes-hardware.com/pub/complete-catalog.xls 열어본다.

 

 

2.2 URL 문법

<스킴>://<사용자이름>:<비밀번호>@<호스트>:<포트>/<경로>;<파라미터>?<질의>#<프래그먼트>
  • 스킴
    • 리소스를 가져오려면 어떤 프로토콜을 사용하여 서버에 접근해야 하는지 가리킨다.
    • 알파벳으로 시작되어야 한다.
    • 스킴의 끝은 ':'문자로 구분한다.
    • default : 없음
  • 사용자 이름
    • 리소스에 접근하기 위한 이름
    • default : anonymous
  • 비밀번호
    • 사용자의 비밀번호
    • default : (IE : IEUser, Chrome : chrome@example.com)
  • 호스트
  • 포트
    • 리소스를 호스팅 하는 서버가 열어놓은 포트 번호
    • default : 스킴에 따라 다르다. (HTTP 기본 포트 : 80)
  • 경로
    • 리소스가 서버 내 어디에 있는지를 가리킨다.
    • default : 없음
  • 파라미터
    • 파라미터는 key, value의 쌍을 이룬다.
    • ';'을 통해서 구분한다.
    • ex) ftp:prep.ai.mit.deu/pub/gnu;type=d
    • default : 없음
  • 질의
    • 애플리케이션 파라미터를 전달하는 데 사용한다.
    • URL 끝의 '?'로 구분한다.
    • 특정 문자를 제외하고는 포맷에 제약사항은 없다.
    • ex) http:www.joes-hardware.com/inventory-check.cgi?item=12731&color=blue
    • default : 없음
  • 프래그먼트
    • 리소스의 조각이나 일부분을 가리키는 이름
    • URL이 특정 객체를 가리키는 경우 사용된다.
    • 프래그먼트 필드는 서버에 전달되지 않고, 클라이언트에서만 사용된다.
    • URL 끝의 '#'로 구분한다.
    • ex) http://www.joes-hardware.com/tools.html#drills
    • default : 없음

 

 

2.3 단축 URL

 

2.3.1 상대 URL

  • URL의 종류
    • 절대 URL
    • 리소스에 접근하는데 필요한 모든 정보를 가지고 있다.
  • 상대 URL
    • URL을 짧게 표시하는 방법으로, URL의 모든 정보를 담고 있지 않다.
    • 모든 정보를 얻기 위해서는 기저(base)라고 하는 다른 URL을 사용해야 한다.
    • ex) http://www.joes-hardware.com/tools.html
    <a href="./hammers.html" />
    
    <!-- 
    - 기저 URL : http://www.joes-hardware.com
    - 상대 URL : /hammers.html
    - 새로운 절대 URL : http://www.joes-hardware.com/hammers.html 
    -->

상대 URL을 절대 URL로 변환하기

 

 

2.4 안전하지 않은 문자

  • 안전한 전송
    • 정보가 유실될 위험 없이 URL을 전송할 수 있는 것
    • 알파벳 외의 문자도 포함하려고 URL 인코딩 규칙이 생겨남
    • 예약된 문자들은 URL에서 사용하려면 사전에 인코딩을 해야 한다.
    • 이스케이프를 문자를 이용해 특정 문자를 인코딩 함으로써 완성도를 높였다.
  '~' -> %7
  ' ' -> %20
  '%' -> %25

 

 

2.6 미래

  • URL: 특정 시적에 어떤 것이 위치한 곳을 알려준다.
  • URN : 객체가 옮겨지더라도 항상 객체를 가리킬 수 있는 이름을 제공
  • 지속 통합 자원 지시자 (PURL)을 사용하면 URL로 URN 기능을 제공할 수 있다.
    • PURL : 리소스의 실제 URL목록을 관리하고 추적하는 리소스 위치 중개 서버를 두고, 해당 리소스를 우회적으로 제공
  • URN으로 주소 체계를 바꾸는 건 표준 체계를 바꾸는 것이 큰 작업이라 계속 사용 중

 

 

2.7 추가 정보

 

 

'HTTP' 카테고리의 다른 글

[HTTP완벽 가이드] 1장 HTTP 개관  (0) 2023.09.16