[혼공] 오늘의 회고
우리는 모두 공평하게 각자의 고독을 이겨내고 있다.
항해 캠프가 끝나고 솔직히 늘어진 마음도 가지고 있다. 🥲
그동안 너무 정신없이 달려와서 쉬고 싶다는 마음도 있어서 쉬기도 했지만, 생각 외로 그동안 미뤄왔던 일들의 처리하고 집에 있을 시간도 없이 밖에서 면접도 보고 준비도 하고 등등 많은 일들을 병행하다 보니 조금 지쳐 있었다.
오늘은 드디어 이런 마음에 안정감을 찾고 마음을 다시 먹은 날이기도 해서 WIL회고를 작성해 본다. 🥳
💡 오늘의 학습 범위
- TCP와 UDP 👀
TCP는 연결지향적으로 데이터의 신뢰도가 중요하다고 판단될때 주로 사용하고, UDP는 비연결지향으로 최소한의 오류제어 기능만 수행하여 빠른 속도의 실시간 멀티미디어 정보를 처리하기 위해 주로 사용한다.
- TCP 3 way handshake 👀
프로토콜이 잘 연결되어 있는지 확인하는 방법으로
첫단계는 클라이언트 서버에 SYN(동기화) 메시지를 보내고 두 번째 단계는 서버는 클라이언트에게 SYN요청받고 클라이언트에게 요청을 수락한다는 SYN, ACK 메시지로 응답 세 번째 단계에선 ACK메시지를 보내고 이후 연결이 이루어지며 데이터가 오가게 된다.
- Base64 인코딩 👀
8비트 2진 데이터(zip파일이나 exe파일 등)을 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식
예를 들어 전체문장이 24비트라면 6비트씩 4개의 문자로 읽는다. 6비트로 나눈 이진수를 다시 10진수로 바꿔 Base64색인표에서 일치하는 문자로 바꿔 위 과정을 거치면 6비트당 2비트의 오버헤드가 발생하여 전송해야 할 데이터의 크기가 33% 증가하지만 바이너리 데이터의 손실을 막기 위해 사용
- 주소 창에 naver.com를 치면 일어나는 일 👀
출처
주소창에 naver.com을 치면 일어나는 일을 쉽게 이해해보자
📖 웹 브라우저의 동작 과정을 CS 지식이 저처럼 부족한 분들도 이해할 수 있도록 최대한 쉽게 설명하여 정리해보았습니다.
velog.io
1. 입력한 텍스트 정보 확인
대표적으로 chrome은 주소창을 구글의 검색창으로 쓰고 있다.
이럴 경우 브라우저는 사용자가 주소창에 어떤 텍스트를 입력했을 때,
이 텍스트가 검색어인지 URL인지 우선적으로 확인한다.
- 만일 입력한 텍스트가 검색어이면, 브라우저는 검색 엔젠의 URL에 검색어를 포함한 주소로 페이지를 이동
- 만일 입력한 텍스트가 URL이면, 브라우저 엔진에서 (네트워크 스레드를 통해) 네트워크 호출을 수행한다.
2. 네트워크 호출
'네이버'라는 화면을 보여주려면 네이버의 HTML 문서, CSS문서, 등의 데이터를 미리 가지고 있어야 하는데, 브라우저엔 이런 정보가 없다. 그럼 어디에 있을까? 바로 네이버 서버에 있다 !
그렇기 때문에 브라우저는 네이버 서버와의 네트워크 통신을 통해 이러한 데이터들을 가져와야 한다.
우선 브라우저는 네이버 서버가 있는 컴퓨터의 IP 주소부터 파악할 필요가 있다. ex) 마치 친구 집 찾아갈 때 주소 알아야 하는 느낌~
3. 렌더링 작업
응답받은 데이터에 악성 바이러스 있는지 우선확인, 이 데이터는 바이트 형태의 텍스트 문서이므로, 브라우저 엔진이 읽을 수 없다. 따라서 브라우저 엔진은 렌더링 엔진에 해당 데이터를 해석하고, 웹 페이지를 화면에 띄울 것을 요청
요청 잘 받은 렌더링 엔진은 받은 데이터를 바탕으로 렌더링 프로세스 수행하고 끝나면 브라우저 엔진에게 작업 완료했음 ㅅㄱ 를 날린다.
이렇게 화면은 보이게 된다 뚜둥!