반응형
1. 주요 응용계층 프로토콜 이해
DNS(Domain Name System)
- 도메인 이름을 IP 주소로 변환하고, IP 주소를 도메인 이름으로 변환하기 위해 개발
- 전세계 흩어진 DNS 서버를 통해 '도메인 이름: IP 주소' 정보 확인 가능
- Network Protocol로 UDP 사용
메일 서버(SMTP와 POP3 프로토콜)
- SMTP(Simple Mail Transfer Protocol): 메일 송신
- 텍스트(ASCII 코드)만 전송 가능
- POP3(Post Office Protocol): 메일 수신
POP3과 IMAP(둘 다 메일 수신 프로토콜)
- IMAP(143 포트): 중앙 서버에서 메일을 동기화하며, 모든 장치에서 동일한 이메일 폴더를 확인할 수 있으며, 중앙 서버 메일 용량에 따라 메일 수신이 불가능할 수 있음
- POP3(110 포트): 중앙 서버에서 로컬 장치로 이메일을 내려 받으며, 내려받은 이메일은 중앙 서버에서 지우는 것이 디폴트
MIME 프로토콜
- MIME: Multi-purpose Internet Mail Extensions의 약자
- SMTP 본문 내용에 MIME 헤더와 함께, 다양한 포맷의 데이터(첨부파일 등)를 ASCII 코드로 변환하여 전송
- 클라이언트에서 SMTP 본문 데이터를 MIME 헤더에 맞게 디코딩하는 것
- 실제 예시
MIME-Version: 1.0
From: Student Programming <studentProgramming@gmail.com> -- 가상 이메일 주소입니다
Date: Thu, 11 Apr 2025 17:43:25 +0900
Subject: =?UTF-8?B?7J207KSA7Z2sIOyeheuLiOuLpC4gKOydvOyghOyXkCDtl
Content-Type: multipart/alternative; boundary=001a113944905f64d4054209900f
2. FTP와 웹 브라우저 동작 과정 이해
FTP(File Transfer Protocol)
- 서버와 클라이언트 사이의 파일 전달을 위한 프로토콜
- 일반 서비스와 다르게 2개의 포트 사용: 접속/제어를 위한 포트(21번), 데이터 전송을 위한 포트(20번)
Passive Mode vs Active Mode
- Passive Mode(TCP/IP 모델)의 경우 클라이언트가 서버에 접속
- Active Mode는 서버가 클라이언트에 접속하므로, 클라이언트 방화벽에 따라 에러가 발생할 수 있음
웹브라우저 동작 과정
1단계
- 웹브라우저에 입력된 URL은 DNS 프로토콜을 사용하여 IP 주소로 변환
2단계
- HTTP Request는 운영체제 네트워크 스택을 따라 HTTP->TCP->IP->Ethernet을 전기신호로 변환 후 전송
- 웹 서버에서 HTTP Response를 작성한 후 브라우저로 송신
3단계
- HTML 파일을 파싱하여 DOM tree를 생성하고, CSS 정보를 파싱하여 CSSOM tree 생성
- DOM/SCCOM tree 기반 Render tree 생성
4단계
- Render tree 기반, Rendering
DOM(Document Object Model)
- Document: 구조화된 데이터
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h1>Hello!</h1>
</body>
</html>
- DOM: 구조화된 문서를 객체로 표현하는 형식
DOM과 Virtual DOM
- javascript 등으로 웹페이지 변경 시, 매번 DOM tree를 변경하는 방식을 Rendering이라고 함
- DOM의 가벼운 형태(json)를 메모리에 올려놓고 필요한 부분만 변경한 후, 한 번에 변경된 부분만 DOM에 반영하여 조정
- React, Vue.js 등 프론트엔드 기술에서 활용 중
반응형