어떻게 될까요
웹 브라우저가 URL을 해석한다

URL 문법은 여기서 확인하면 좋을것 같다
URL이 문법에 맞지 않는다면 입력을 웹 브라우저의 기본 검색엔진으로 검색을 요청
HTTP Strict Transport Security의 약어로, 보안에 취약한 HTTP 대신 HTTPS를 사용하여 통신해야한다고 알리는 보안 기능
해당 URL이 HSTS에 존재한다면 HTTPS 프로토콜로 요청을 보내고, 존재하지 않는다면 HTTP 프로토콜로 요청을 보낸다
HSTS에 해당 URL이 있다면, 명시적으로 HTTP요청을 보내더라도 HTTPS로 요청
Domain Name System의 약어인 DNS는 호스트의 도메인 이름을 네트워크 주소로 바꾸거나 반대의 변환을 하는 역할
모든 웹사이트는 각자의 IP주소를 가지고 있으며, 터미널에서 다음과 같이 확인할 수 있다

해당하는 DNS의 기록을 찾기위해 브라우저는 browser - OS - router - ISP순으로 캐시를 확인한다
캐시는 네트워크 트래픽을 통제하고 데이터 전송 시간을 높이는데 필수적으로 필요
만약 요청한 URL이 캐시에 없다면 URL을 호스팅하고 있는 IP주소를 찾기 위해 DNS Query를 날린다
DNS Query를 날린 후 내부 동작은 다음과 같다

브라우저가 올바른 IP주소를 받게된다면, 해당 IP주소와 정보 전달을 위한 연결을 시도한다
TCP/IP three-way handshake를 통해 양쪽 모두 데이터 전송할 준비가 되었다를 보장
SYN 패킷을 보낸다SYN/ACK 패킷을 사용하여 SYN 패킷의 ACK으로 응답SYN/ACK 패킷을 수신하고 ACK 패킷을 전송하여 승인
만약 요청이 HTTP가 아니라 HTTPS 요청이라면 암호화 통신을 위해 TLS Handshake가 추가된다
해당 Handshake의 흐름은 다음과 같다

연결이 되었으니 해당 페이지를 달라고 서버에 GET요청을 보낸다
www.google.com을 요청한 상황이며, 해당 Status Code는 300번대로 HTTP가 들어온상황

HTTPS요청은 200으로 정상작동하는것을 볼 수 있다
브라우저는 응답받은 HTML을 화면에 단계별로 표시한다
HTML 골격만 먼저 렌더링한다
HTML 태그를 확인 후 이미지, CSS, JavaScript 파일과 같은 추가요소에 대한 GET 요청을 한다
정적 파일(Static File)은 브라우저에 의해 캐시되기 때문에 동일한 페이지를 방문한다면 추가적으로 요청할 필요가 없다
굿