📑 본 글은 <그림으로 배우는 네트워크 프로토콜>을 읽고 정리한 글입니다.

1. HTTP와 HTTPS
HTTP
- Hypertext Tranfer Protocol
- HTTPS
- HTTP Secure / HTTP over SSl/TLS → 암호화와 인증 기능 지원
- 상시 SSL화 : 웹사이트 내의 모든 콘텐츠를 HTTPS로 지원하는 것
HTTP 특징
- 응용 계층 프로토콜
- 웹에서 데이터를 가져올 때 사용한다.
- 클라이언트 서버형
- 무상태성(Stateless)
2. DNS
DNS
- Domain Name System
- 도메인 이름(문자열)과 IP 주소를 이어준다.
- 정방향
- 역방향
도메인 이름 vs 호스트 이름
- 도메인 이름
- 도메인 : 네트워크에서 분할 관리되는 범위
- 이 도메인의 범위를 식별하는 이름
- 인터넷에 공개되는 호스트에는 도메인 이름을 사용한 이름을 붙인다.
- www.sujin.com
- 호스트 이름
- 도메인 내 단말기를 식별하고자 부여하는 이름
- www.sujin.com
- FQDN(Fully Qualified Domain Name)
- 호스트 이름 + 도메인 이름
- www.sujin.com
도메인의 계층 구조
Root Domain
TLD(Top Level Domain)
- kr. com, net 등
- www.sujin.co.com
2LD(2nd Level Domain)
- go, co, seoul 등
- www.sujin.co.com
3LD(3rd Level Domain)
- www.sujin.co.com
DNS 통신의 흐름
위에서부터 순서대로 아는 서버 방문 → 최종적으로 목적지 정보를 알고 있는 DNS 서버에 도달함
www.example.kr에 접속해보자!
- 브라우저가 리졸버에 이름 해석을 부탁한다.
- 리졸버는 DNS 서버 A에 문의한다.
- DNS 서버 A는 루트 DNS 서버에 문의한다.
- 루트 DNS 서버는 kr 도메인을 관리하는 DNS 서버의 IP 주소를 DNS 서버 A에 반환한다.
- DNS 서버 A는 kr DNS 서버에 문의한다.
- kr DNS 서버는 example.kr 도메인을 관리하는 DNS 서버의 IP 주소를 DNS 서버 A에 반환한다.
- DNS 서버 A는 example.kr DNS 서버에 문의한다.
- example.kr DNS 서버는 www.example.kr 도메인을 관리하는 DNS 서버의 IP 주소를 DNS 서버 A에 반환한다.
- DNS 서버 A는 획득한 정보를 캐싱하고 리졸버에 응답한다.
- 리졸버는 IP 주소를 브라우저에 응답한다.
- 브라우저는 획득한 IP 주소로 www.example.kr에 접속한다.
- 리졸버(resolver)
- OS 등에 있는 이름 해석을 문의하는 프로그램
- DNS 위임(delegation)
- 상위 DNS 서버는 하위 DNS 서버에 도메인 관리를 맡긴다.
3. SMTP
SMTP
- Simple Mail Transfer Protocol
- 메일을 보내거나 전달하는 서버
- 메일을 받는 거는 POP / IMAP을 사용함
- 전송할 서버는 목적지 이메일 주소를 통해 DNS로 찾아낸다.