URI와 웹 브라우저 요청 흐름

2025. 1. 25. 09:15·Computer Science/Network
반응형

URI(Uniform Resource Identifier)

URI란?

URI란 인터넷에서 자원을 식별하기 위한 문자열을 의미한다.

웹 상의 특정 자원(파일, 페이지, API 등)을 식별하거나 위치를 지정하는 방식이다.

URI는 URL과 URN을 포함한다.
URL: 리소스가 있는 위치(Locator)를 지정
URN: 리소스에 이름(Name)을 부여

 

 

URI 구성 요소

 schema://[userinfo@]host[:port][/path][?query][#fragment] 

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

 

- schema

주로 프로토콜을 정의. 어떤 방식으로 자원에 접근할 것인가

 

- userinfo

URL에 사용자 정보를 포함해서 인증해야될 때 사용. (거의 사용 안함)

 

- host

자원이 위치한 서버의 도메인 이름 or IP 주소

 

- port

서버와 통신하기 위한 포트를 지정. 생략시 프로토콜별 기본 포트 사용

HTTP 의 기본포트는 80, HTTPS의 기본포트는 443

 

- path

서버 내 자원의 위치

 

- query

자원에 대한 추가 정보를 제공하거나 동작을 요청할 때 사용.

? 뒤에 key=value 형태로 작성하고, 여러 키-값 쌍을 &로 구분.

 

- fragment

자원의 특정 부분을 지정. 브라우저가 프래그먼트를 사용하여 페이지 내 특정 위치로 이동

서버에 전송하는 정보는 아니다.

 

 

 

웹 브라우저 요청의 흐름

1. 브라우저에서 사용자가 URL을 입력.

2. DNS 서버로 도메인에서 목적지 IP 주소를 찾아냄. port가 생략되어 있다면 schema 부분으로 찾아냄.

3. 웹 브라우저가 HTTP/HTTPS 요청 메시지를 생성

4. Socket 라이브러리를 통해 IP와 PORT 정보를 기반으로 TCP/IP 연결

5. TCP/IP 패킷 생성 및 서버에 전달.

6. 서버에서 클라이언트의 요청을 확인하고 응답.

7. 브라우저 렌더링

 

 

 

 

이미지 출처/참고

 

모든 개발자를 위한 HTTP 웹 기본 지식 강의 | 김영한 - 인프런

김영한 | 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연

www.inflearn.com

 

728x90
반응형

'Computer Science > Network' 카테고리의 다른 글

포트(PORT)와 DNS  (1) 2025.01.24
TCP/UDP  (1) 2025.01.23
IP(인터넷 프로토콜)  (0) 2025.01.22
HTTP vs HTTPS, SSL/TLS  (0) 2024.09.30
HTTP/1.0, HTTP/1.1, HTTP/2.0, HTTP/3.0(QUIC)  (2) 2024.09.30
'Computer Science/Network' 카테고리의 다른 글
  • 포트(PORT)와 DNS
  • TCP/UDP
  • IP(인터넷 프로토콜)
  • HTTP vs HTTPS, SSL/TLS
settong
settong
    250x250
  • settong
    개 발 자 국
    settong
  • 전체
    오늘
    어제
    • 전체보기 (202)
      • Computer Science (50)
        • Network (7)
        • Operating System (18)
        • Data Structure (9)
        • Database (11)
        • Algorithm (5)
      • Language (17)
        • Java (17)
        • Javascript (0)
        • Python (0)
      • Devops (20)
        • AWS (0)
        • Naver Cloud (16)
        • CICD (3)
        • 웹 서버 관리 (1)
      • Front (0)
        • React (0)
      • Backend (5)
        • Spring (5)
      • 코딩 테스트 정복기 (110)
        • 백준 (51)
        • 프로그래머스 (53)
        • 기타 (6)
      • etc (0)
      • 경제 상식 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백트래킹
    해시
    CI/CD
    완전탐색
    ncp202
    벨만포드
    ncp
    집합
    BFS
    Network
    github actions
    lcs
    ncp200
    다익스트라
    DFS
    백준
    다이나믹프로그래밍
    Spring Boot
    프로그래머스
    분할정복
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
settong
URI와 웹 브라우저 요청 흐름
상단으로

티스토리툴바