1️⃣ DNS (Domain Name System)
- IP 주소 ↔ 도메인 이름 변환 시스템
- 사람이 외우기 어려운 IP 주소 대신 도메인 사용
- IP 변경 시 DNS 서버에서만 업데이트하면 된다.
📌 DNS 동작 순서
- 도메인 구매 후 DNS 서버 등록
- 클라이언트가 도메인 입력
- DNS 서버가 해당 도메인의 IP 반환
- IP 주소를 기반으로 웹사이트 접속
2️⃣ URI (Uniform Resource Identifier)
- 인터넷 자원을 식별하는 고유한 문자열
- URL, URN 포함
📌 URL vs URN
💡 대부분 URI = URL로 사용
3️⃣ URL (Uniform Resource Locator) 구조
📌 URL 구성 요소
- Scheme : 프로토콜 (HTTP, HTTPS, FTP)
- Host : 도메인/IP (www.google.com)
- Port : HTTP(80), HTTPS(443) (생략 가능)
- Path : 리소스 경로 (/search)
- Query : 추가 데이터 (?q=sparta)
- Fragment : 페이지 내 특정 위치 (#section1)
4️⃣ 브라우저에 URL 입력 시 동작 과정
- URL 입력 (https://www.google.com)
- DNS 조회 → IP 주소 반환
- 클라이언트 → 서버, HTTP 요청 전송
- 서버 → 클라이언트, HTTP 응답 반환 (HTML, CSS, JS 등)
- 브라우저가 응답을 렌더링
5️⃣ JSON (JavaScript Object Notation)
- 데이터 교환을 위한 경량 포맷
- Key-Value 형태 ("name": "John")
- XML보다 가볍고 직관적
- 웹 API, MSA 통신에 사용
📌 JSON 예시
json
복사편집
{ "user": { "name": "John", "age": 25, "hobbies": ["coding", "gaming"] } }
✅ Scale Up vs Scale Out
| 구분 | 설명 | 예시 |
| Scale Up | 서버 성능 업그레이드 | CPU, RAM 추가 |
| Scale Out | 서버 개수 증가 | 로드 밸런싱 |
✅ Stateful vs Stateless
| 구분 | 설명 | 특징 |
| Stateful | 상태 유지 | 세션 관리 필요 |
| Stateless | 상태 유지 안 함 | 요청마다 독립적 |
💡 웹 애플리케이션은 가능한 Stateless 방식 사용 (확장성 높음)
✅ Connection vs Connectionless
| 구분 | 설명 | 특징 |
| Connection | 연결 유지 | 리소스 소모 큼 |
| Connectionless | 연결 유지 안 함 | 요청마다 새 연결 |
💡 HTTP는 기본적으로 Connectionless → HTTP 지속연결(Persistent Connections) 사용
'NETWORK' 카테고리의 다른 글
| Web Application (2) | 2025.03.17 |
|---|---|
| HTTP (1) | 2025.03.17 |
| 네트워크(Network) (1) | 2025.03.17 |