URL을 입력하면 어떤 일이 발생할까?

적자생존·2022년 7월 13일
0

Study

목록 보기
4/10

URL을 입력하면 무슨일이 발생하는 것일까??

1. URL 파싱

어떤 프로토콜, 도메인, 포트로 보낼지 파싱한다.

https://www.naver.com:443

https는 프로토콜
www.naver.com은 URL(도메인)
443은 포트번호를 의미한다.

물론 포트번호는 평상시에 입력안해도 자동으로 들어감

2. HSTS 목록 조회

HSTS(HTTP Strict Transport Security) 목록을 확인하고 있으면 HTTPS로 없으면 HTTP로 요청한다.

3. DNS 조회

일단 브라우저/로컬에 캐시 확인해서 도메인에 해당하는 IP가 있는지 찾아보고 없으면 OS에게 DNS 서버 요청하라고 하고 DNS 서버는 해당 도메인에 해당하는 IP를 알려준다.

4. 대상 서버와 TCP 연결을 한다.

TCP 소켓을 열어서 3-way handshake로 연결을 설정한다.

HTTPS의 경우 TLS handshaking 과정을 통해 세션키를 생성한다.

3-way handshake

3-way handshake는 TCP의 접속하는 과정이다.

가. 클라이언트가 서버에 접속 요청하는 SYN 패킷을 보낸다.
이때 클라이언트는 SYN을 보내고 SYN/ACK 응답기다리는 SYN_SENT상태
서버는 Wait for Client상태

나. 서버는 요청을 받고 클라이언트에게 요청을 수락하는 ACK와 SYN flag가 설정된 패킷을 발송한다.
이때 서버는 SYN_RECEIVED 상태가 된다.

다. 클라이언트는 서버에게 ACK를 보내고 연결이 이루어진다.
이때 서버는 ESTABLISHED가 된다.

쉽게말하면

철수 : 영희야 5천원 줘
영희 : 철수야 5천원 보냈어
철수 : 영희야 5천원 확인했어

https://sorjfkrh5078.tistory.com/62

5. HTTP 프로토콜로 요청, 응답

해당 서버와 통신할 준비가 완료되어 서버에게 입력한 url을 달라고 요청한다. 서버는 이 요청에 대한 응답을 생성하여 브라우저에게 전달한다.

6. 브라우저에서 응답 해석

서버에서 보낸 응답(HTML, CSS, Javascript 등)을 브라우저가 해석하여 렌더링 한다.

7. 참고자료

https://www.notion.so/dingco/Front-end-012491a58c07413193f5af563e2b7937
https://sorjfkrh5078.tistory.com/65
https://bangu4.tistory.com/74

profile
적는 자만이 생존한다.

0개의 댓글