3 / 3

file: 이건 포트 없잖아

예상 시간: 5분

file: 이건 포트 없잖아

file: 이건 포트 없잖아


맞습니다! file://은 포트가 없음


이유: 네트워크 통신이 아니기 때문

https://example.com:443/page.html
        └────┬────┘└┬┘
             │      └─ 포트: 네트워크로 서버에 연결할 때 필요
             └─ 호스트: 어느 서버?
 
file:///home/user/doc.pdf
        └───────┬──────┘
                └─ 로컬 경로: 내 컴퓨터 파일시스템
                   네트워크 안 씀 → 포트 필요 없음

스킴별 비교

스킴네트워크 사용포트
https://✅ 원격 서버있음 (443)
ftp://✅ 원격 서버있음 (21)
ssh://✅ 원격 서버있음 (22)
file://❌ 로컬없음
mailto:❌ 앱 호출없음
tel:❌ 앱 호출없음
spotify:❌ 앱 호출없음

URI 구조가 스킴마다 다름

https://host:port/path      ← 네트워크 기반
file:///path                ← 로컬 파일 (슬래시 3개)
mailto:user@example.com     ← authority 없음
tel:+82-10-1234-5678        ← 그냥 전화번호
urn:isbn:978-89-123-4567    ← 이름만

URI는 통일된 "식별자" 형식이지, 모든 스킴이 같은 구조는 아님.


file:// 슬래시 3개인 이유

file://host/path   ← 원래 구조 (host 자리가 있음)
file:///path       ← host가 비어있으면 슬래시만 남음

      빈 host + /path = ///

file://localhost/home/user/doc.pdf도 가능하지만, 보통 생략해서 file:///home/user/doc.pdf


★ Insight ─────────────────────────────────────

  1. URI는 유연한 규격: RFC 3986이 기본 문법을 정의하지만, 각 스킴이 자기만의 규칙을 추가로 정의함
  2. 포트 = TCP/UDP 개념: 네트워크 계층에서 필요한 것. 로컬 파일이나 앱 호출은 네트워크를 안 거치므로 포트 개념 자체가 없음 ─────────────────────────────────────────────────