[웹 기초] URL 기본 구조와 웹 브라우저 요청 흐름 이해

2025. 2. 2. 22:02·웹 기초 | 디자인/웹 지식 | 웹 표준 | 접근성

1. 개요

URL(Uniform Resource Locator)은 웹에서 리소스를 식별하는 표준화된 방식입니다. 본 포스팅에서는 URL의 기본 구성 요소와 각 요소의 역할, 그리고 웹 브라우저가 URL을 통해 서버와 통신하는 과정을 자세히 설명합니다. 이를 통해 URL의 구성 원리를 이해하고, 실제 웹 개발 및 네트워크 분석 시 활용할 수 있는 지식을 공유합니다.


2. URL 구성 요소

URL은 다음과 같은 주요 요소들로 구성됩니다.

요소 설명 예시
Scheme 프로토콜 지정 https
Host 서버 주소 www.google.com
Port 서버 포트 443
Path 리소스 경로 /search
Query 쿼리 파라미터 q=hello&hl=ko
Fragment 문서 내 북마크 #section1

실제 URL 예시:
https://www.google.com:443/search?q=hello&hl=ko#section1


3. 주요 구성 요소 설명

3-1. 프로토콜 (Scheme)

  • 정의: URL에서 리소스 접근에 사용되는 통신 방식을 지정합니다.
  • 예시 및 기본 포트:
    • HTTP: 기본 포트 80
    • HTTPS: 기본 포트 443
    • 그 외에도 FTP, mailto 등 다양한 프로토콜 존재

3-2. 호스트 (Host)

  • 정의: 서버의 도메인 이름 또는 IP 주소를 나타냅니다.
  • 특징: DNS(Domain Name System)를 통해 도메인 이름이 실제 IP 주소로 변환됩니다.

3-3. 경로 (Path)

  • 정의: 서버 내 특정 리소스의 위치를 나타냅니다.
  • 예시:
    • /members/100
    • /products/category
    • /search

3-4. 쿼리 파라미터 (Query)

  • 정의: URL에서 ?로 시작하여 key=value 형태의 데이터를 전달하며, 여러 파라미터는 &로 구분합니다.
  • 용도: 클라이언트에서 서버로 추가적인 데이터를 전달하거나 필터링 정보를 보낼 때 사용

3-5. Fragment

  • 정의: 문서 내 특정 위치(북마크)를 지정하기 위한 요소입니다.
  • 특징: 서버로 전송되지 않고, 클라이언트에서 HTML 문서를 렌더링할 때 활용됩니다.

4. 웹 브라우저 요청 흐름

웹 브라우저는 URL을 통해 서버와 통신하는 복잡한 과정을 자동화하여 사용자에게 원활한 웹 경험을 제공합니다. 아래는 주요 흐름입니다.

  1. DNS 조회
    • 브라우저는 URL에 명시된 도메인을 IP 주소로 변환하기 위해 DNS 서버에 질의합니다.
  2. 포트 정보 확인
    • 프로토콜에 따른 기본 포트(HTTP:80, HTTPS:443)를 확인하여 연결 시 사용할 포트를 결정합니다.
  3. HTTP 요청 메시지 생성
    • 예:
    • GET /search?q=hello&hl=ko HTTP/1.1 Host: www.google.com
  4. 서버 연결 및 데이터 전송
    • TCP/IP 연결(3-way handshake)을 통해 서버와 연결 후, HTTP 메시지를 서버로 전송합니다.
  5. 서버 응답 처리
    • 서버는 요청을 해석 및 처리하여 HTML 등의 응답 데이터를 생성한 후, 클라이언트에 전송합니다.
  6. 브라우저 렌더링
    • 클라이언트는 수신한 HTML을 파싱하여 화면에 표시합니다.

5. 주요 포인트 정리

  • URL의 역할: 웹 리소스를 식별하는 통일된 방식으로, 각 요소가 명확한 역할을 수행합니다.
  • 프로토콜 선택: HTTPS가 보안 표준으로 자리 잡으면서, 기본 포트와 보안 측면에서 중요한 역할을 합니다.
  • 복잡한 네트워크 과정 자동화: 웹 브라우저는 DNS 조회, TCP/IP 연결 및 HTTP 메시지 전송과 같이 복잡한 과정을 사용자 모르게 처리합니다.

6. 참고 자료

자세한 내용은 아래 링크를 참고하시기 바랍니다.
Inpa Dev 티스토리 - URL 구성 요소 설명

 

'웹 기초 | 디자인 > 웹 지식 | 웹 표준 | 접근성' 카테고리의 다른 글

웹 비동기(Async)와 동기(Sync) 통신의 이해 및 활용 방안  (0) 2025.04.13
'웹 기초 | 디자인/웹 지식 | 웹 표준 | 접근성' 카테고리의 다른 글
  • 웹 비동기(Async)와 동기(Sync) 통신의 이해 및 활용 방안
알쓸신개
알쓸신개
  • 알쓸신개
    알아두면 쓸모있는 신기한 개발지식
    알쓸신개
  • 전체
    오늘
    어제
    • 분류 전체보기 (61) N
      • 웹 기초 | 디자인 (2)
        • HTML (0)
        • CSS (0)
        • 반응형 (0)
        • 웹 지식 | 웹 표준 | 접근성 (2)
      • 프론트엔드 (6)
        • JavaScript (6)
        • DOM 조작 | AJAX (0)
        • TypeScript (0)
        • Vue.js | React | JSX (0)
        • Webpack | Vite | 웹 컴포넌트 (0)
      • 백엔드 (19) N
        • PHP (5) N
        • Laravel (9)
        • CodeIgniter (0)
        • JAVA (0)
        • Spring (0)
        • 디자인 패턴 (2)
        • 테스트 코드 작성 (1)
        • 보안 | 인증 (1)
      • 데이터베이스 (3)
        • SQL 기초 (1)
        • MariaDB | MySql (0)
        • 데이터베이스 설계 (0)
        • 쿼리 최적화(튜닝) (0)
      • 실무 | 성장 (9)
        • 프로젝트 사례 (2)
        • 트러블슈팅 | 개발팁 (7)
        • 커리어 관련 (0)
        • 코드 리뷰 | 스터디 (0)
        • 애자일 | 스크럼 | 작업 방법론 (0)
      • 개발 환경 | 도구 (18)
        • 버전관리 (Git) (3)
        • 개발 도구 (IDE, 에디터 등) (3)
        • 서버 | 인프라 | 배포 | 운영 (11)
        • Docker | 컨테이너 (0)
        • CI | CD (1)
        • 클라우드 환경 (AWS | GCP) (0)
      • 보안 (2)
        • 보안 | 인증 전반 (2)
        • CSRF | XSS 대응 (0)
        • SQL 인젝션 (0)
        • 암호화 | 해시 (0)
        • 보안 취약점 분석 (0)
      • AI & 머신러닝 (0)
        • AI 툴의 특성 (0)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
알쓸신개
[웹 기초] URL 기본 구조와 웹 브라우저 요청 흐름 이해
상단으로

티스토리툴바