반응형

이번에는 URI가 무엇인지,

클라이언트의 웹 브라우저에서 서버 사이의 요청의 흐름이 어떻게 흘러가는지에 대해서 알아보자.


URI (Uniform Resource Identifier)

  • 인터넷에서 자원을 식별하는 방법
  • Uniform: 리소스를 식별하는 통일된 방식
  • Resource: 자원, URI로 식별할 수 있는 모든 것
  • Identifier: 다른 항목과 구분하는데 필요한 정보
  • URL, URN을 포함하는 개념이다.
    • URL
      • 리소스가 이 위치에 있다고 지정한다.
    • URN
      • 리소스에 이름을 붙인다.
      • ex) urn:isbn:8960777331 (어떤 책의 isbn URN)
      • 이름만으로 리소스를 찾는 방법이 보편화되지 않음.

URL (Uniform Resource Identifier)

위키피디아 설명

  • 첫번째에 있는 형식
  • 어떤 방식으로 자원에 접근할 것인가 규칙 (location)
  • scheme
    • http, https, ftp, sftp 등 프로토콜 형식
  • user information
    • 간단하게 사용 가능하지만 사용자 인증 방식은 보통 다른 방식을 사용함
    • ex) 엘라스틱서치에서 user info 포함 요청 예시
      curl -XGET 'http://user:password@localhost:9200/_search?q=query'
  • host
    • 도메인명이나 ip가 직접 입력됨. 
  •  port
    • 포트는 보통 생략됨.
    • 생략된 포트는 scheme 기준으로 디폴트로 정해짐.
      http : 80, https : 443
  • path
    • 리소스경로, 계층적 구조
    • ex) /home/file1.jpg
  • query
    • key=value 형태
    • ?로 시작 &로 파라미터를 이어서 추가
  • #fragment
    • 서버로 전송되는 정보는 아님
    • html 내부 북마크 용도

 

URN은 크게 중요하지 않은 것 같아 생략


웹 브라우저 요청 흐름

  1. 클라이언트 → 구글
    • GET /search?q=query로 호출을 시도함
  2. 클라이언트의 요청이 프로토콜 계층을 통과해 요청을 날림.
    1. http 메세지의 요청이 생성됨
    2. socket 라이브러리를 통해 전달
      • tcp/ip 연결, 데이터 전달
    3. http 포함 tcp/ip 패킷 생성
  3. 서버에서는 tcp/ip 패킷을 까서 http 메세지를 조회함.
  4. 서버에서 http 응답 메시지를 만듬.
  5. 클라이언트에게 동일한 방식으로 http 응답 메세지를 까서 확인함.
  6. 클라이언트의 웹브라우저가 받은 메세지 기반으로 렌더링함.

참고 자료

반응형

'개발 > web' 카테고리의 다른 글

[http] http 메소드, 메소드 속성  (0) 2024.01.07
[http] http 개요  (0) 2024.01.02
[spring] rest api 응답 컨텐츠 압축하기  (1) 2024.01.01
[http] TCP, UDP  (1) 2023.12.29
[http] IP (인터넷 프로토콜)  (0) 2023.12.29