2. URI와 웹브라우저 요청 흐름

·2021년 5월 14일
0

URI, URL, URN의 차이
https://www.google.com/search?q=hello&hl=ko의 분석

URI

  • Uniform Resource Identifier
  • Uniforn : 리소스를 식별하는 통일된 방식
  • Resource : 자원, URI로 식별할 수 있는 모든 것(제한 없음)
    • 실시간 교통정보, 파일..
  • Identifier : 다른 항목과 구분하는데 필요한 정보

URI와 URL와 URN의 차이

  • URI는 locator, name 또는 둘 다 추가로 분류될 수 있다
    국제인터넷표준화기구 ietf

  • 식별(Identifier) 안에는 locator(리소스의 위치)와 name (리소스의 이름)이 있다

    • URL - Locator : 리소스가 있는 위치를 지정
      • ex) 김영한을 찾아가려면 이곳으로 가세요
    • URN - Name : 리소스에 이름을 부여
      • ex)김영한
  • URN은 잘 사용하지 않는다

    • 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되어 있지 않음
    • 거의 url만 사용한다
    • URI = URL 로 보편적으로사용

URL

URL의 문법

  • scheme://[userinfo@]host[:port][**/path**][?query][**#fragment**]
  • https://www.google.com:443/search?q=hello&hl=ko

프로토콜 : https

호스트명 : www.google.com

포트번호 : 443

패스 : /search

쿼리파라미터 : q=hello&hl=ko

scheme

  • 스키마에는 주로 프로토콜이 사용된다
    • 프로토콜은 어떤 방식으로 자원에 접근할 것인가 하는 약속이다
    • ex) http, https, ftp 등
  • http는 80, https는 443포트를 주로 사용가능하며 생략이 가능하다
    • https는 http에 보안이 추가된 방식이다(http Secure)

userinfo@

  • url에 사용자 정보를 포함해서 인증할때 사용, 거의 사용하지 않는다

host

  • 호스트명
  • 호메인명 또는 IP주소를 직접 사용 가능하다

port

  • 접속 포트
  • 일반적으로 생략
    • 생략시 http는 80 https는 443을 의미

/path

  • 리소스가 있는 경로, 계층적 구조로 이루어짐
    • ex) home/file1.jpg → home 안에 file1
    • members/100 → 회원 정보가 있는 dir에 100번째 회원

?query

  • key=value 형태로 이루어짐
  • ?로 시작 &로 추가 가능
    • ex) ?keyA=value&keyB=valueB
  • query parameter, query string 등으로 불림, 웹 서버에 제공하는 파라미터, 문자형태

#fragment

웹브라우저 요청 흐름

https://www.google.com/search?q=hello&hl=ko 를 요청했을 때의 상황

  1. DNS를 찾는다

  2. 요청 메시지 생성
    - 요청메시지에는 요청방식, 쿼리, http버전, host 등이 담기게 된다

  3. 요청메시지 전송
    - TCP/IP 패킷을 생성해서 전달하게 된다

- 패킷에는 출발지의 ip, port, 목적지의 ip, port 와 전송데이터들이 담김
- 전송데이터에 http 메시지가 담기게 된다
  1. 응답메시지를 생성
  • 받은 응답메시지로 HTML 렌더링을 한다

출처 모든 개발자를 위한 HTTP 웹 기본지식

profile
💻📝🤯

0개의 댓글