본문 바로가기

분류 전체보기66

[브라우저에 URL 입력 후 일어나는 일들] 4_TCP 소켓 통신 지난번 포스팅에서 목적지의 IP와 MAC 주소를 찾는 것 까지 서명해보았는데요!오늘은 데이터를 전송하기 위해 서버와 클라이언트가 TCP 프로토콜을 통해 연결하는 과정을 설명해보도록 하겠습니다.브라우저가 목적지 서버의 IP 주소를 받으면 거기서 호스트명과 포트 번호를 뽑아내서 socket 이라는 이름의 시스템 라이브러리를 호출하고 TCP 소켓 스트림 ( AF_INET/AF_INET6 과 SOCK_STREAM )을 요청합니다. 이 요청은 먼저 TCP 세그먼트가 제작되는 Transport 전송 계층으로 전달됩니다. 목적지 포트는 헤더에 더해지고, 출발지 포트는 커널의 동적 포트 범위 (리눅스의 ip_local_port_range) 에서 선택됩니다.이 세그먼트는 추가적인 IP 헤더를 덧씌우는 Network 레이.. 2019. 1. 15.
[브라우저에 URL 입력 후 일어나는 일들] 3_ARP 프로세스 지난번 DNS 서버에서 도메인으로 IP 주소를 받아오는 것을 설명했습니다. 오늘은 이 받아온 IP 주소를 가지고 서버 PC에 이동하는 과정에 대해서 얘기해보도록 하겠습니다. IP와 MAC의 차이에 대해서 먼저 알아보겠습니다. * IP 네트워크 통신에 있어서 통신기기에 할당된 식별번호입니다.이 아이피 주소는 통신기기마다 고유하게 할당되어 있는 것이 아니라 통신사에 일정 금액 지불하고 받아오는 것이기 때문에 경우에 따라 바뀔 수 있습니다.상대방 컴퓨터가 내 PC를 찾기 위해 필요한 주소입니다. * MAC 아이피 주소와 마찬가지로 네트워크 통신에서 통신기기의 식별번호 나타냅니다.MAC 주소는 통신기기 하드웨어 자체에 부여된 고유한 식별번호를 나타냅니다.세상에 단 하나밖에 없는 유니크한 값을 가지며 변경될 수 .. 2019. 1. 12.
[브라우저에 URL 입력 후 일어나는 일들] 2_DNS 서버 검색 지난번 URL을 입력 후 엔터를 쳤을 때 키를 인식하고 URL에서 필요한 정보를 해석하는 과정까지 이야기했는데요!오늘은 목적지 IP주소를 알아오는 과정을 알아보고자 합니다. 1. HTTP와 HTTPS 먼저 지난번 URL 주소에서 http 프로토콜에 대해서 설명을 했었는데이때 http 와 https 를 간단하게 설명했었습니다. http 는 HTML 같은 문서를 웹 브라우저가 웹 서버에 요청하는 프로토콜인데 https 는 통신 내용을 암호화 한다는 것에서 차이점이 있었죠. 그런데 https 프로토콜을 사용하여 접근해야하는 주소에 http 로 접근하는 경우( HTTPS 를 강제하게 될 때 ) 서버측에서 302 Redirect 를 이용하여 전환시킬 수 있습니다.하지만 HTTP 연결을 거쳐가는 것이기 때문에 쿠키.. 2019. 1. 7.
[브라우저에 URL 입력 후 일어나는 일들] 1_URL을 해석한다. 브라우져에서 wangin9.tistory.com 입력 후 일어나는 첫번째 과정!브라우저에서 'URL 입력 후 해석하는 과정 ' 입니다. (본 포스팅은 참고 : https://github.com/SantonyChoi/what-happens-when-KR 에서 정리된 부분을 설명합니다.) 1. "enter" 키 클릭, (windows) HID 트랜스포트는 키 눌림 이벤트를 HID가 사용하는 형태의 스캔코드로 변환하는 KDBHID.sys 드라이버에 전달한다. 이 경우 스캔코드는 VK_RETURN 이 된다. 키보드로부터 문자를 입력 받으려면 WM_CHAR 메시지를 사용해야하지만 문자 이외의 키, 커서 이동키, 엔터, Ins 등의 키는 문자키가 아니기 때문에 WM_KEYDOWN 메시지를 사용해야 한다. 가상키 코.. 2019. 1. 4.