Study/성공과 실패를 결정하는 1%의 네트워크 원리
-
성공과 실패를 결정하는 1%의 네트워크 원리 6장Study/성공과 실패를 결정하는 1%의 네트워크 원리 2022. 2. 13. 18:10
이번 장에서는 웹 서버에 HTTP 요청이 수신되고 처리 후 브라우저에 응답을 주는 과정을 정리하겠습니다. 1. 서버의 개요 서버가 요청을 받기 위해서는 클라이언트가 요청을 송신할 때와 동일하게 소켓과 프로토콜 스택을 이용합니다. 하지만 클라이언트와 사용하는 방법이 다릅니다. 클라이언트가 tcp 연결을 할 때는 서버에 바로 연결을 진행하면 되지만 서버는 클라이언트와 송수신을 하기 위해 접속을 대기하는 과정이 필요합니다. 따라서 서버는 접속을 대기하는 부분과 접속 이후 클라이언트와 송수신 하는 부분으로 프로그램이 나뉩니다. 서버는 처음 프로그램을 시작할 때 소켓을 생성하고 접속을 수신하기 위한 포트를 바인딩합니다. 그리고 접속 대기를 시작합니다. 이후 클라이언트가 해당 서버에 접속을 하면 접속 대기용 소켓을..
-
02 TCP/IP의 데이터를 전기 신호로 만들어 보낸다Study/성공과 실패를 결정하는 1%의 네트워크 원리 2022. 1. 25. 20:33
이번 장에서는 브라우저가 HTTP 요청을 하기 위해 소켓을 작성하고 서버에 접속하는 과정과 TCP/IP, 이더넷을 통해 데이터를 송수신 하는 과정에 대해 알아봅니다. 1. 소켓을 작성한다 브라우저에서 서버에 접속하려면 OS의 프로토콜 스택에 요청해야 하는데 이 때 소켓을 사용합니다. 소켓은 소켓 라이브러리를 이용해서 생성할 수 있습니다. 소켓은 내부적으로 프로세스 통신을 제어하기 위한 제어 정보들을 메모리에 저장하고, 이 정보들을 이용해서 프로토콜 스택에 송수신을 요청합니다. 2. 서버에 접속한다 HTTP 요청을 위해 소켓을 생성했으면 그 다음은 서버에 접속을 해야합니다. 서버에 접속하려면 서버의 IP와 서버에 있는 애플리케이션의 포트를 알아야 합니다. 이는 서버 URL에서 구할 수 있습니다. DNS를 ..