URI란?

LeeYulhee·2024년 3월 4일

👉 URI(Uniform Resource Identifier)란?


  • 인터넷에서 자원을 식별하는 데 사용되는 문자열
  • URI는 자원을 고유하게 식별하고 위치를 지정하는 데 사용
  • 웹 주소(URL), 파일 식별자, 데이터베이스 접근 정보 등 다양한 형태로 사용될 수 있음



👉 URI의 두 가지 형태


  • URL(Uniform Resource Locator)
    • 자원이 실제로 위치한 곳을 가리키는, 인터넷 상의 자원을 찾기 위한 구체적인 주소
    • 예시 : https://www.example.com/index.html
      • 웹 서버에서 index.html이라는 문서를 찾기 위한 URL
  • URN(Uniform Resource Name)
    • 위치에 독립적인 자원의 이름을 제공(리소스의 이름)
    • URN은 자원이 어디에 존재하든 그 자원을 유일하게 식별할 수 있는 이름을 제공
    • 예시 : urn:isbn:0451450523
      • 특정 책의 ISBN 번호를 나타내는 URN



👉 URI의 구성


  • 스키마(http, https, ftp 등)
    • 사용할 프로토콜을 나타냄
  • 호스트 이름
    • 자원이 호스팅되는 서버의 도메인 이름 또는 IP 주소
  • 포트 번호(선택적)
    • 서버에서 특정 서비스에 접근하기 위해 사용하는 포트 번호
  • 경로
    • 서버 내에서 자원의 위치를 가리키는 경로
  • 쿼리 문자열(선택적)
    • 서버에 제공할 추가적인 정보를 포함하며, 보통 key=value 쌍의 형태
  • 프래그먼트(선택적) 등
    • 문서 내의 특정 부분을 가리키는 식별자



👉 요청 URI


  • 요청 URI
    • HTTP 요청의 경우, URI는 HTTP 메서드에 이어서 기술
    • 예시 : GET /index.html HTTP/1.1
  • 절대 URI
    • URI를 모두 포함
    • 예시 : https://www.example.com/path/to/myfile.html
  • 상대 URI
    • URI의 일부를 포함
    • 예시 : /another-folder/image.png



👉 URI의 문자


  • 예약 문자
    • 예약 문자는 URI에서 특별한 의미를 가지며, 이러한 의미를 위해 사용
    • 해당 목적 외에는 URI에 사용할 수 없음
    • 예약 문자를 그 목적 외에 다른 용도로 사용하려면 퍼센트 인코딩을 해야 함
    • 종류
      • :, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =
    • 예시
      • https://www.example.com/search?query=example&sort=ascending
        • ?는 쿼리의 시작을 나타내고, &은 쿼리 파라미터를 구분하는 데 사용
  • 비예약 문자
    • 비예약 문자는 URI에서 특별한 의미 없이 사용될 수 있는 문자
    • 보통 알파벳(A-Z, a-z), 숫자(0-9), -, ., _, ~를 포함
    • 이 문자들은 URI의 어느 부분에서나 그대로 사용될 수 있음
  • 퍼센트 인코딩
    • 예약 문자도 비예약 문자도 아닌 문자를 URI에서 사용할 때, 퍼센트 인코딩이 사용됨
    • 이 방식은 % 다음에 해당 문자의 ASCII 코드 값을 16진수로 표현하여 사용
    • 예시
      • https://www.example.com/search?query=Hello%20World
        • 공백 문자는 URI에서 직접 사용할 수 없기 때문에 %20으로 인코딩



👉 URI의 중요성


  • URI는 웹 상의 자원을 식별하는 표준화된 방법을 제공
    • 이를 통해 개발자들은 자원에 일관된 방식으로 접근할 수 있으며, 웹의 구조를 더 쉽게 이해할 수 있음
  • 검색 엔진은 URL 구조를 분석하여 페이지의 내용과 중요성을 판단함
    • 잘 구조화된 URL은 SEO에 긍정적인 영향을 미치며, 웹 사이트의 검색 엔진 순위 향상에 도움이 됨
  • 사용자에게 친숙하고 읽기 쉬운 URL은 웹 사이트의 사용성을 향상시킴
    • 사용자가 웹 주소를 쉽게 기억하고 입력할 수 있도록 도움



👉 좋은 URI 설계를 위한 팁


  • URI는 가능한 한 명확하고 간결하게 설계해야 함
  • 웹 리소스의 위치가 변경되더라도, 가능한 한 URI는 변경되지 않도록 해야 함
  • URI에는 공백이나 특수 문자를 직접 포함할 수 없기 때문에 퍼센트 인코딩 주의
  • URI 경로는 리소스의 구조를 반영해야 함
profile
끝없이 성장하고자 하는 백엔드 개발자입니다.

0개의 댓글