2026/03/31 6

4. HTTP 요청 — 실제 데이터를 주고받는 규칙

TCP 연결 + TLS 암호화까지 끝났으면, 이제 드디어 실제 요청을 보내요.HTTP는 클라이언트와 서버가 데이터를 주고받는 약속된 형식이에요. 요청은 크게 세 부분으로 구성돼요 — 시작줄, 헤더, 바디. 각 부분 설명:시작줄은 딱 한 줄로 "무슨 메서드로, 어느 경로를, 어떤 HTTP 버전으로" 요청하는지를 담아요.GET /index.html HTTP/1.1 이런 식이에요. 헤더는 요청의 메타데이터예요. 실제 데이터는 아니지만 서버가 요청을 처리하는 데 필요한 정보들이에요.주요한 것들만 보면 —Host는 어느 도메인에 요청하는지(하나의 IP에 여러 도메인이 붙어있을 수 있어서 필수),Cookie는 로그인 상태 유지, Authorization은 API 인증 토큰,Accept는 응답으로 어떤 형식을 원하..

3-1. TLS 1.2, TLS1.3 차이

TLS 1.2 vs 1.3크게 3가지 차이가 있어요 — 속도, 보안, 키 교환 방식. 차이점 하나씩 짚어볼게요:왕복 횟수 (RTT) — 1.2는 핸드셰이크에 왕복이 2번 필요해요. ClientHello/ServerHello로 암호화 방식 합의하고, 그 다음에 키 교환을 별도로 해야 했어요. 1.3은 ClientHello에 키 교환 재료(ECDHE 공개키)를 처음부터 같이 보내서 1번으로 줄었어요. 키 교환 방식 — 1.2는 RSA 방식도 허용했는데, RSA는 서버 개인키 하나로 모든 세션을 복호화할 수 있어요. 서버 개인키가 털리면 과거 통신 기록도 전부 복호화 가능해요. 1.3은 ECDHE만 허용해서 매 세션마다 임시 키를 새로 만들기 때문에 개인키가 털려도 과거 통신은 안전해요. 이게 Forward ..

3. TLS handshake — HTTPS 암호화 연결

TCP 연결이 끝났으면, HTTPS라면 여기서 암호화 채널을 만들어요. "우리 어떤 방식으로 암호화할지 협의하고, 서버가 진짜인지 검증하자"는 과정이에요. TCP handshake가 "연결 확인"이라면, TLS handshake는 "신원 확인 + 암호화 키 교환"이에요. 각 단계 설명:ClientHello — 클라이언트가 "나는 TLS 1.3 쓸 수 있고, 이런 암호화 방식들 지원해"라고 먼저 제안해요.지원하는 cipher suite 목록을 쭉 보내요. ServerHello + 인증서 — 서버가 "그 중에 이 방식 쓰자"고 결정하고, 자신의 신원을 증명하는 인증서(공개키 포함)를 보내요. 인증서 검증 — 브라우저가 "이 인증서 진짜야?"를 확인해요. CA(인증기관, ex. Let's Encrypt)가 서..

2. TCP 연결 — 3-way handshake

DNS로 IP를 알아냈으면, 이제 그 서버와 실제로 연결을 맺어야 해요.TCP는 데이터를 주고받기 전에 "우리 연결됐어?" 하고 서로 확인하는 악수 과정을 거치는데, 이걸 3-way handshake라고 해요. 왜 3번이냐면 — 양방향 통신이 가능한지 확인해야 하기 때문이에요.클라이언트→서버 방향,서버→클라이언트 방향,두 방향 모두 문제없다는 걸 확인하고 나서야 데이터를 보내요. 각 단계에서 무슨 일이 일어나는지:SYN — 클라이언트가 서버에 "나 연결하고 싶어, 내 시작 번호는 0이야"라고 보내요.seq(sequence number)는 이후 패킷 순서를 맞추기 위한 번호예요. SYN-ACK — 서버가 "좋아, 받았어(ACK). 나도 연결 준비됐어(SYN), 내 시작 번호는 0이야"라고 응답해요.AC..

1. DNS

① DNS 조회 — 도메인을 IP로 바꾸는 과정브라우저가 example.com을 입력받으면 가장 먼저 하는 일이 "이 도메인의 IP가 뭐지?"를 알아내는 것이에요.전화번호부에서 이름으로 번호를 찾는 것과 같아요. 핵심은 캐시를 단계적으로 확인하고, 없으면 점점 더 높은 서버에 물어보는 구조예요. 핵심 포인트 3가지:캐시는 단계별로 확인돼요.브라우저 캐시 → OS 캐시 → ISP 리졸버 캐시 순서로, 어느 단계에서든 찾으면 거기서 바로 끝나요.그래서 자주 방문하는 사이트는 빠른 거예요.리졸버가 대신 발품을 팔아요. 브라우저는 직접 루트 서버에 묻지 않고, ISP의 리졸버한테 "알아서 찾아줘"라고 위임해요.리졸버가 루트 → TLD → 권한 서버 순서로 쫓아가며 IP를 찾아옵니다. TTL이 캐시 수명을 결정..

0. 브라우저에서 URL 입력했을 때 무슨 일이 일어나는가?

URL을 입력하면 무슨 일이 일어나는가?크게 보면 이렇게 5단계예요: DNS 조회 — 도메인을 IP 주소로 변환 (캐시 → OS → ISP → 루트 서버 순서로 찾음)TCP 연결 — 3-way handshake로 서버와 연결 수립TLS handshake — HTTPS라면 암호화 채널 추가 설정HTTP 요청 — 실제 데이터 요청응답 + 렌더링 — HTML 받아서 화면 그리기