[꼼꼼한 개발자] 꼼코더

6. 모든 개발자를 위한 HTTP 웹 기본 지식 - [URI와 웹 브라우저 요청 흐름] - URI 본문

HTTP

6. 모든 개발자를 위한 HTTP 웹 기본 지식 - [URI와 웹 브라우저 요청 흐름] - URI

꼼코더 2022. 9. 11. 21:59
반응형

🏠 URI (Uniform Resource Identifier)

서로 다른 리소스를 식별하는데 필요한 정보와 통일 된 방식

URI(Uniform Resource Identifier)는 URL과 URN을 모두 포함하는 용어로 자원의 위치(Locator)와 이름(Name)을 모두 포함한다.

URI는 정보 리소스를 고유하게 식별하고 위치를 지정할 수 있다.

  • Uniform : 리소스 식별하는 통일된 방식이다.
  • Resource : URI로 식별할 수 있는 모든 걸 자원이라고 한다. 웹 브라우저에 있는 HTML의 파일 것만 자원을 뜻하는 게 아니라 실시간 교통정보 등등 이러한 것들을 자원이라고 한다.
  • Idenrifier : 다른 항목과 구분하는 데 필요한 정보이다. 사람을 식별할 때 주민등록번호를 식별 하는 것처럼 말한다.

(참고) URI과 URL의 차이점


📰 URL(Unifrom Resource Locater), URN(Uniform Resource Name)

URL : 리소스(자원)이 있는 위치(Locator)를 지정한다.

URN : 리소스(자원)에 이름(Name)을 부여한다. 위치(Locator)는 변할 수 있지만 이름(Name)은 변하지 않는다. URN이 이름으로 실제 리소스가 결과 나오는게 매핑 되어야 하는데 찾기가 어렵다.따라서 URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화되지 않음

우리는 URI, URL 정도만 알면 된다. 앞으로 URI를 URL과 같은 의미로 생각하고 이해하면 된다.

 


📝 URL - 전체 문법

  • Example : https://google.com/search?q=hello&hl=ko
  • Format : scheme://[userinfo@]host[:port][/port][/path][?query][#fragment]
    • scheme : 프토토콜
      • 주로 프로토콜 사용한다.
        • 프로토콜어떤 방식으로 자원에 접근할 것인가에 관한 클라이언트 서버간 약속 규칙
      • 예) http, https, ftp 등
        • http: 80 포트, https: 443 포트 주로 사용(생략O)
        • https는 http에 보안을 추가한 것으로 요즘 대부분의 웹사이트는 https로 동작
    • userinfo
      • URL에 사용자 정보를 포함해서 인증에 사용하는데 거의 사용하지 않는다.
      • → GitLab 접속시 사용자정보를 입력하거나, SSH 유저정보를 넣을때도 사용하고는 한다.
    • host : 호스트 명
      • 도메인명 또는 IP주소를 직접 사용할 수도 있다.
    • port: 포트번호
      • 접속 포트로 IP 가 컴퓨터의 논리적 주소라면, port는 컴퓨터에서 실행되는 앱의 주소라 할 수 있다.
      • 생략도 가능하며 http는 80, https는 443 이고 일반적으로 생략한다.
    • path: 경로
      • 리소스가 있는 경로로 계층적 구조로 되어 있다.
      • 예시
        • /home/file1.jpg   ➡️   home 이라는 경로에 file1.jpg가 있다.
        • /members   ➡️   회원들에 대한 정보를 보여주는 경로이다.
        • /members/100 ➡️  100번의 회원의 정보 경로이다.
        • /items/iphone12   ➡️  아이템 중에 아이폰12 정보 경로이다.
    • query: 쿼리 파라미터
      • key/value형태의 Pair Resource로 ?로 시작하며 &으로 자원 추가가 가능하다.
      • key와 value 형태로 데이터가 들어가 있다.
      • ?로 시작하며 &으로 자원 추가가 가능하다.
        • ?keyA=valueA&keyB=valueB
        • ?q=hello&hl=ko (위 구글 예시)
      • 숫자를 적어도 전부 문자로 넘어간다 하여 query parameter, query string등으로 부른다.
    • fragment

🙋🏻‍♂️ Q&A

Q. 호스트 명과 도메인 명은 같은 것인가?

 

A. 호스트 이름은 도메인 이름의 한 가지 특수한 유형으로 도메인 이름 중에서 IP 주소를 설정할 수 있는 이름을 말한다.

호스트의 기준은 IP 주소이고 호스트 이름은 호스트에 부여된 이름이다. 즉 IP 주소를 갖고 있는 어떤 것에 이름을 부여한 것이다.

 

[출처] https://www.inflearn.com/questions/154682

[출처] https://ohgyun.com/274

[출처] https://gamtoggi.tistory.com/82

 

참고 : https://hseungyeon.tistory.com

 

위 자료는 김영한님의 ‘모든 개발자를 위한 HTTP 웹 기본 지식’ 강의를 참고하여 작성하였습니다.
https://www.inflearn.com/course/http-웹-네트워크/dashboard
Comments