URI(Uniform Resource Identifier)

리소스를 식별하는 통합된 방법

흔히 URI, URL, URN이 있는데
URI 안에 URL과 URN이 포함되어 있다.
각각 L과 N은 Locator와 Name을 뜻한다.

URI는 방법이라면 Locator를 통해 리소스를 식별하는 방법,
Name을 통해 리소스를 식별하는 방법을 뜻한다.

이건 책으로 비유하면 편한데 도서관에 비치된 책의 위치가 URL이라면
도서관에 비치된 책의 코드번호가 URN이다.

URN은 불변한다는 특징이 있고 URL은 계속해서 변할 수 있지만
우리는 코드번호를 가지고 그 책이 어떤 책인지 알 수 없듯
URN을 가지고는 실제 리소스를 찾을 수 있는 방법이 보편화되지 않아있다.
그러므로 우리가 그 위치에 있는 책을 도서관(서버)에 요청하면 그 책을 가져다 주는 방식을
보편화해서 쓰고 있다.

즉 URN은 현재 잘 사용하지 않는 방식의 리소스 식별 방식이므로 URN이 없다고 가정했을 때
URI = URL+URN 이므로 URI = URL이라고 가정하고 설명하겠다.
실제로 강사님도 이렇게 설명하셨음..

URL분석

https://www.google.com/search?q=hello&hl=ko

위의 URL을 분석해보자!
프로토콜(https)
호스트명(www.google.com)
포트번호(443)
패스(/search)
쿼리파라미터(q=hello&hl=ko)

스키마(schema)

  • 주로 프로토콜을 사용한다.
  • 프로토콜 : 어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙
    - 예) http, https, ftp 등등
  • http는 80포트, https는 443포트를 주로 사용한다. 포트는 생략이 가능하다.
  • https는 http에 보안을 추가한 것으로 데이터를 전송할 때 암호화를 해서 보내준다.(HTTP Secure)

userinfo

  • URL에 사용자정보를 포함해서 인증
  • 거의 사용하지 않음.

호스트명

  • 도메인 명 또는 IP주소를 직접 사용 가능하다.

PORT

  • 접속 포트, 일반적으로 생략한다.
  • 생략시 http는 80, https는 443이다.
  • 특정 서버에 따로 접속해야할 때는 입력하기도 하지만 거의 웹은 http, https로 구성되어있기 때문에 생략한다.

패스

  • 리소스 경로를 의미한다. 계층적 구조를 뜻함.
  • 예) /home/file1.jpg, /members, /members/100, /items/iphone12 를 예로 들었다.

query

  • 쿼리파라미터는 key=value 형태로 입력한다.
  • 쿼리파라미터 혹은 쿼리 스트링이라고 불리는데 숫자를 넣어도 String(문자열)의 형태로 넘어가기 때문이다.
  • ?로 시작하고 &으로 추가 가능하다.

fragment

  • html 내부 북마크 등에 사용하며 서버에 전송하는 정보는 아님.

다음에는 웹브라우저 요청 흐름에 대해 정리해보려 한다!

출처 : 모든 개발자를 위한 HTTP 웹 기본 지식(김영한 강사님 인프런 강의)

profile
비전공자 개발초보입니다!

0개의 댓글