이 영역을 누르면 첫 페이지로 이동
caputdraconis 블로그의 첫 페이지로 이동

caputdraconis

페이지 맨 위로 올라가기

caputdraconis

네트워크 관점에서의 클라우드 컴퓨팅을 공부하는 중입니다 :)

[Networks] URI와 PURL

  • 2023.03.09 12:37
  • Computer Network
글 작성자: caputdraconis
반응형

URI(Uniform Resource Identifier)

 웹 서버 리소스는 각자 이름을 갖고있다. www/index.html image/caputdraconis.png와 같다.
이러한 리소스의 이름을 사용해 클라이언트는 관심 있는 리소스를 지목할 수 있다.
이러한 서버 리소스 이름을 통합 자원 식별자, URI(Uniform Resource Identifier) 라고 부른다.

http://www.caput.dev/images/chewchewkim.jpg

 위와 같은 URI는 HTTP 프로토콜에서 아래의 그림과 같이 해석된다. HTTP는 주어진 URI로 클라이언트가 찾고자 하는 객체를 찾아온다.

 이러한 URI에는 URL과 URN 두 가지가 있다.

 

URL(Uniform Resource Locator)

 통합 자원 지시자(Uniform Resource Locator, URL)는 현재 리소스 식별자의 가장 흔한 형태이다.
Locator라는 이름에서도 알 수 있듯이 URL은 특정 서버의 한 리소스에 대한 구체적인 위치를 서술함으로서 리소르를 지목한다.
URL은 리소스가 정확히 어디에 있고, 어떻게 접근할 수 있는지 분명히 알려준다.

http://www.caput.dev/images/chewchewkim.jpg

 caputdraconis.dev 홈페이지의 사진 파일을 지목하는 URL이다. 이는 위에서 URI를 설명할 때 사용한 URI 예시와 동일하다. 이는 오늘날 대부분의 URI는 URL이기 때문이다.

http:// 스킴이라고 부른다. 리소스에 접근하기 위해 사용되는 프로토콜을 서술한다.
www.caput.dev 서버의 인터넷 주소를 제공한다. IP 주소로도 대체 가능하다.
/images/chewchewkim.jpg 웹 서버의 리소스를 가리킨다.

 

URN(Uniform Resource Name)

 유니폼 리소스 이름(Uniform Resource Name, URN)은 콘텐츠를 이루는 한 리소스에 대해, 그 리소스의 위치에 영향 받지 않는 유일무이한 이름 역할을 한다. 리소스의 위치가 옮겨지더라도, 위치 독립적인 URN은 문제없이 동작한다. 리소스의 이름을 변하지 않게 유지한다면, 여러 종류의 네트워크 접속 프로토콜로 접근해도 문제 없다는게 장점이다.

 

 아직 실험 중인 상태이며, 널리 채택되지 않았다. 효율적인 동작을 위해 URN은 리소스 위치를 분석하기 위한 인프라 지원이 필요한데, 그러한 인프라의 부재로 채택이 늦춰지고 있다.

 

PURL(Persistent Uniform Resource Locators)

 PURL을 사용하면, URL로 URN의 기능을 제공할 수 있다. PURL은 리소스의 실제 URL 목록을 관리하고 추적하는 리소스 위치 중개 서버를 두고, 해당 리소스를 우회적으로 제공한다. 아래의 사진은 PURL을 사용하여 죠의 컴퓨터 가게(HTTP 완벽 가이드에서 사용하는 예시 페이지)의 URL이 무엇인지 물어보고, 그에 대한 결과값으로 리소스의 현재 위치를 받은 사진이다.

https://purl.archive.org/

 

 PURL은 영구 URL이며, 웹의 리소스에 액세스하기 위한 영구 주소를 제공한다. 사용자가 PURL을 검색하면 리소스의 현재 위치로 리디렉션된다. 서버 관리자가 페이지(리소스)의 위치를 옮겨야 할 때 바뀐 새로운 위치를 가리키도록 PURL을 업데이트할 수 있다. 이를 통해 리소스의 위치가 변경되더라도 영구적인 주소를 제공할 수 있다.

PURL

 

[HTTP 완벽 가이드] 책을 읽고 정리한 내용입니다.

반응형

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [Networks] Circuit Switching

    [Networks] Circuit Switching

    2023.05.16
  • [Networks] Store and Forward Transmission

    [Networks] Store and Forward Transmission

    2023.05.15
  • [Networks] AWS 로드 밸런싱 - ALB

    [Networks] AWS 로드 밸런싱 - ALB

    2022.01.20
  • [Networks] OSI 7 계층 정리

    [Networks] OSI 7 계층 정리

    2022.01.17
다른 글 더 둘러보기

정보

caputdraconis 블로그의 첫 페이지로 이동

caputdraconis

  • caputdraconis의 첫 페이지로 이동

검색

메뉴

    카테고리

    • 분류 전체보기 (168)
      • Cloud (3)
      • Computer Network (12)
      • Database (2)
      • Terraform (2)
      • 🥚고리즘 (13)
      • 겅부겅부🙃 (10)
        • Naver CS50 코칭스터디 (2)
        • Machine Learning (1)
        • Computing System (6)
      • 언어&프레임워크 (20)
        • Python (4)
        • Django (10)
        • Node JS (1)
        • C++ (2)
        • Java (1)
        • Flutter (2)
      • Security (76)
        • WebHacking Study (11)
        • 지옥방 스터디 (22)
        • 여름방학 스터디 (2)
        • PWN Study (6)
        • SUA Reversing Study (3)
        • PWN (3)
        • WebHacking (20)
        • Reversing (4)
      • 알고 있으면 도움되지 않을까,,? (23)
      • 일상다반사 (1)
      • 근황 정리 (1)
      • 42 Seoul (1)
        • Setting (1)

    최근 글

    인기 글

    댓글

    공지사항

    아카이브

    태그

    • 파이썬
    • old-16
    • 드림핵
    • 파이썬기초
    • 파이썬함수
    • 리스트함수
    • Python
    • 웹해킹.kr

    나의 외부 링크

    • Github
    • solved.ac
    • caputdraconis@kakao.com

    정보

    caputdraconis의 caputdraconis

    caputdraconis

    caputdraconis

    블로그 구독하기

    • 구독하기
    • RSS 피드

    방문자

    • 전체 방문자
    • 오늘
    • 어제

    티스토리

    • 티스토리 홈
    • 이 블로그 관리하기
    • 글쓰기
    Powered by Tistory / Kakao. Copyright © caputdraconis.

    티스토리툴바