학습 목표
고정 길이 셀과 URI 구성 요소의 기본 계산만 확인한다.
본문
핵심 이론
ATM 셀은 헤더 5바이트와 페이로드 48바이트로 총 53바이트다. 추가 계층 정보가 없다는 조건이면 셀 수는 데이터 바이트/48을 올림하고 총전송량은 셀 수×53이다.
URI는 scheme://host:port/path?query#fragment 형태의 요소를 구별한다. 포트의 :와 프래그먼트의 # 등 구분 기호 포함 여부를 확인한다.
상대 경로는 기준 URI의 마지막 파일명을 디렉터리처럼 취급하지 않는다. ./는 현재, ../는 부모 경로로 해석하고 점 구간을 정리한다.
통신 기술의 전체 사양을 외우기보다 제시된 필드·주소·길이를 읽는 수준으로 학습한다.
URL은 구분 기호마다 역할이 다르다
scheme=https, host=host.example, port=8443, path=/a/page, query=team=blue, fragment=top에서 스킴은 https, 호스트는 host.example, 포트는 8443, 경로는 /a/page, 질의는 team=blue, 프래그먼트는 top이다. 포트 앞 콜론이나 프래그먼트 앞 #까지 포함해 쓰는지는 지문의 요구를 따른다.
상대 경로를 적용할 때 기준 파일명은 디렉터리 목록에서 먼저 제외한다. 기준 /a/b/page.html에 ../img/icon.png를 연결하면 기준 디렉터리 /a/b/에서 한 단계 올라가 /a/img/icon.png가 된다. .은 현재 위치, ..은 상위 위치다. 호스트 이름을 경로 계산으로 바꾸지 않는다.
ATM 셀은 헤더 5바이트와 페이로드 48바이트로 전체 53바이트다. 셀 수는 데이터 길이를 48로 나눈 뒤 올림한다. 데이터 49바이트면 셀 2개이며 총전송량은 2×53=106바이트다. 마지막 셀의 빈 공간을 패딩한다는 조건을 확인하고, 총전송량을 데이터 길이+헤더만으로 계산하지 않는다.
이 단원은 URL 구성과 제시된 수치로 하는 셀 계산까지 익히면 된다. 모든 URI 문법의 예외나 통신망 설계 세부를 추가로 암기할 필요는 없다.
풀이 예시
기준 URI가 scheme=https, host=example.org, path=/a/b/page.html일 때 상대 참조 ../img/./icon.png를 RFC 3986의 상대 참조 해석 규칙으로 적용한 절대 URI를 쓰시오. 기준 파일명은 디렉터리명이 아니다.
정답과 풀이 보기
예시 정답
scheme=https, host=example.org, path=/a/img/icon.png
풀이 과정
기준 디렉터리 /a/b/에 상대 경로를 붙이고 ../로 b를 벗어나며 ./는 현재 디렉터리를 유지한다. 결과는 /a/img/icon.png이다.
복습 문제
답을 생각한 뒤 정답과 근거를 펼쳐 보세요.
프래그먼트는 일반적인 HTTP 요청의 서버 전송 대상에 포함되는가?
정답과 근거
아니다. 프래그먼트는 주로 클라이언트가 문서 내부 위치를 찾는 데 사용한다.
기준 경로가 파일을 가리킬 때 상대 참조 ../img/icon.png는 어느 디렉터리를 기준으로 정규화하는가?
정답과 근거
기준 파일의 이름을 제거한 디렉터리에서 상대 경로를 결합하고 .. 구간을 정규화한다.