[Application Layer] URI

JUJU·2024년 3월 5일
0

Network

목록 보기
5/21

✏️ URI

URI(Uniform Resource Identifier)는 인터넷 자원의 고유 식별자이다.

URI는 URL과 URN을 포함한다.

  • URL: Uniform Resource Locator
    리소스의 경로 정보(문자열)를 식별자로 활용

  • URN: Uniform Resource Name
    리소스에 이름을 식별자로 활용

URN은 보편적으로 사용되지 않는다.




✏️ URL의 문법

URL은 다음과 같은 문법을 가지고 있다.

scheme://[userinfo@]host[:port][/path][?query][#fragment]
ex) https://www.google.com/search?q=SMTP&hl=ko
URL은
  1. schme (프로토콜)
  2. host (호스트명)
  3. :port (포트 번호)
  4. /path (경로)
  5. ?query (쿼리 파라미터)

를 순서대로 작성해야 한다.

■ scheme

scheme://[userinfo@]host[:port][/path][?query][#fragment]
ex) https://www.google.com/search?q=SMTP&hl=ko

주로 프로토콜을 사용한다.

  • 어떤 프로토콜을 사용해서 리소스에 접근해야 하는지 알려준다.
  • 대소문자를 구분하지 않는다.

■ userinfo

scheme://[userinfo@]host[:port][/path][?query][#fragment]
ex) https://www.google.com/search?q=SMTP&hl=ko
  • URL에 사용자 정보를 포함할 때 사용하지만, 주로 생략한다.

■ host

scheme://[userinfo@]host[:port][/path][?query][#fragment]
ex) https://www.google.com/search?q=SMTP&hl=ko
  • 접근하려는 리소스를 가지고 있는 호스트 명
  • 도메인명 또는 IP 주소를 직접 사용 가능하다.

■ port

scheme://[userinfo@]host[:port][/path][?query][#fragment]
ex) https://www.google.com/search?q=SMTP&hl=ko
  • 서버가 열어 놓은 접속 포트 번호를 작성한다.
  • 일반적으로 생략, 생략 시 https는 443으로 자동 입력됨

■ path

scheme://[userinfo@]host[:port][/path][?query][#fragment]
ex) https://www.google.com/search?q=SMTP&hl=ko
  • 리소스의 경로를 나타낸다.
  • /를 사용하여 계층적으로 나타낸다.
    ex) /home/files/file1.jpg

■ query

scheme://[userinfo@]host[:port][/path][?query][#fragment]
ex) https://www.google.com/search?q=SMTP&hl=ko
  • 요청에 필요한 파라미터를 서버에 전달하기 위해 작성한다.
  • key = value의 형태로 작성
  • ?로 시작하고 &로 파라미터를 추가할 수 있다.

■ fragment

scheme://[userinfo@]host[:port][/path][?query][#fragment]
ex) https://www.google.com/search?q=SMTP&hl=ko
  • 리소스의 특정 부분을 가리키기 위해 사용한다.
  • 서버에 전송되지 않는다.



REFERENCE

HTTP 강의 - 김영한 개발자님

profile
개발자 지망생

0개의 댓글

관련 채용 정보