CS34 (TIR+4) ③ 브라우저는 OS의 프로토콜 스택에 메시지 송신을 의뢰한다 지난 시간에는 DNS 서버와의 통신을 통해, URL에 숨겨져 있는 웹 서버의 IP 주소를 알아내는 것까지 알아보았다. 이번에는 브라우저가 OS 내부에 존재하는 프로토콜 스택에 의뢰하는 과정과 실제 내부 동작에 대하여 살펴볼 예정이다. 이미 프로토콜 스택에 대해서는 다룬 바 있다. 위의 그림을 참조하여 보면, 이미 웹 브라우저는 HTTP를 통해 전송될 HTTP Request 메세지는 작성한 상태이므로 5번 Layer를 지난 상태이다. 그러나 데이터가 실제로 전송되기 위해선, OS 내부의 네트워크 제어용 소프트웨어(프로토콜 스택, 4번&3번&2번 Layer)와 네트워크용 하드웨어(LAN 어댑터, 1번 Layer)가 브라우저에서 받은 메시지를 서버에 송출하여야 한다. 이를 위해 브라우저는 프로토콜 스택에 메시.. CS/Network 2020. 11. 18. [Network] 프로토콜 스택이란 무엇인가? 네트워크에 대한 설명을 할 때, 빠지지 않는 것이 있다면 'OSI(Open System Interconnection) 7계층 참조 모델'과 'TCP/IP Protocol'입니다. 둘 다 계층형 구조로 네트워크를 설명한다는 공통점이 있지만, TCP/IP 프로토콜의 계층은 OSI 모델의 계층과 정확하게 일치하지 않습니다. OSI 표준 모델은 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용되는 반면, 실질적인 통신을 설명할 땐 TCP/IP 모델을 주로 사용하곤 합니다. 그 중 오늘은 프로토콜 스택에 대해서 알아보겠습니다. 프로토콜 스택이란 데이터 통신에 활용되는 프로토콜의 구조에 관한 개념으로, 계층화된 구조(스택 구조)로 모여 있는 프로토콜의 집합을 의미합니다. 프토토콜 슈.. CS 2020. 11. 17. (TIR+3) ② OS에 HTTP 메시지를 송신하기 위해 웹 서버의 IP 주소를 DNS 서버에 조회한다 지난 시간에는 URL에 관하여 알아보았다. 이번 시간에는 브라우저가 URL을 해독하는 방법에 관하여 알아보도록 하자. ⅰ. 브라우저는 웹 서버에 보내는 메시지를 작성하기 위해 URL을 해독한다. ⅱ. 브라우저는 OS에 HTTP 메시지를 송신하기 위해 웹 서버의 IP 주소를 DNS 서버에 조회한다. ⅲ. 브라우저는 OS의 프로토콜 스택에 메시지 송신을 의뢰하며, ⅳ. OS는 데이터의 송/수신 동작을 실행함으로써, 브라우저에게 수신한 정보를 전달한다. 그리고 URL을 통해 원하는 웹 사이트의 정보를 열람할 수 있는 까닭은 다음과 같다고 이야기했다. 웹 클라이언트인 웹 브라우저는 웹 서버로부터 정보(html, css, javascript 파일들)를 받아와, 화면에 해당 정보들을 표시해준다. 이 때 사용되는 네.. CS/Network 2020. 11. 16. [Network] 인터넷과 음성통화 그리고 웹 우리는 일상 속에서 인터넷과 웹을 거의 구분하지 않고 생활하는 것 같다. 웹서핑을 할 때, 흔히 "인터넷을 한다"고 이야기하는 걸 보면 말이다. 오늘 그 차이에 대해서 구분짓고 넘어가보자. 인터넷과 음성통화 먼저 인터넷을 알기 위해서는 네트워크에 대하여 알아야한다. 네트워크란 흔히 컴퓨터 네트워크를 말하며, 이는 여러 컴퓨터가 각각 클라이언트와 서버로써 서로 연결되어 구성된 망을 말한다. 인터넷은 이러한 컴퓨터 네트워크가 전 세계적인 규모로 수없이 많이 모여서 이루어진 일종의 컴퓨터 네트워크 시스템이다. 즉, 인터넷이란 수많은 클라이언트 컴퓨터와 서버 컴퓨터, 그리고 이들로 구성된 네트워크들의 집합체이다. 네트워크의 원리는 전화와 같은 무선통신의 원리를 따져보면, 간단하다. 음성통화에서의 통신 방식 발신.. CS/기타 2020. 11. 11. [Computer Science] 하드웨어의 한계, JavaScript에서의 부동소수점 컴퓨터는 저장공간에 한계가 있기 때문에 특정 값보다 큰 숫자나 작은 숫자는 표현할 수 없다. 예를 들어, float는 32비트를 사용하는데 double은 64비트를 사용한다. 32비트를 사용하는 float의 경우에는 2^31 - 1(대략 20억)까지 저장할 수 있으며, 64비트를 사용하는 doblue의 경우에는 2^61-1까지 저장할 수 있다. 결국 컴퓨터가 저장할 수 있는 정보는 유한한다. 반대로 소숫점의 경우를 생각해보자. float x = 1 , float y = 10으로 두고 x / y를 나누면 소숫점 27번째 자리까지만 표현할 수 있고, 그 이상은 0으로 치환시켜 보여준다. 이는 컴퓨터는 계산할 수 있는 값들 중 1/10에 가장 가까운 값을 저장한 것이다. 왜냐하면 유한한 정보를 사용해서는 무한.. CS/기타 2020. 11. 10. 자바스크립트로 구현하는 버블정렬(BubbleSort) 전에 구현했던 버블정렬 코드이다. 자세한 설명은 추후에 진행하도록 하겠다. CS/알고리즘 2020. 10. 22. 자바스크립트로 구현하는 선택정렬(SelectionSort) 오늘은 선택정렬에 대해 구현해보았다. 코드는 다음과 같다. 자세한 설명은 추후에 추가할 예정이다. CS/알고리즘 2020. 10. 22. (TIR+2) ① 브라우저는 웹 서버에 보내는 메시지를 작성하기 위해 URL을 해독한다 우리는 하루에도 수십번씩 새로운 웹 사이트에 들어가, 정보를 열람한다. 그것이 데스크탑이든 스마트폰이든, 우리에게서 '웹(Web)'이란 이미 우리의 삶에서 떼어낼 수 없는 존재임은 분명하다. 그러나 우리가 웹 페이지에서 정보를 열람하기까지 어떤 기술이 숨겨져 있는지, 자세하게 아는 사람은 드물 것이다. 그래서 앞으로 필자는 블로그를 통해, HTTP 통신을 통해 서버와 클라이언트가 정보를 주고 받는 과정에 대해서 설명할 것이다. ⅰ. 브라우저는 웹 서버에 보내는 메시지를 작성하기 위해 URL을 해독한다. ⅱ. 브라우저는 OS에 HTTP 메시지를 송신하기 위해 웹 서버의 IP 주소를 DNS 서버에 조회한다. ⅲ. 브라우저는 OS의 프로토콜 스택에 메시지 송신을 의뢰하며, ⅳ. OS는 데이터의 송/수신 동작을.. CS/Network 2020. 9. 21. (TIR+1) 그림으로 배우는 HTTP & Network 1. HTTP의 상태코드는 서버로부터 리퀘스트 결과를 전달한다. 200번대 리스폰스는 리퀘스트가 정상으로 처리되었음을 나타낸다. 200(OK), 204(No Content, 클라이언트에서 서버에 정보를 보내는 것으로 족하고, 클라이언트에 대해서 새로운 정보를 보낼 필요가 없을 때 사용), 206(Partial Content, Range에 의해서 범위가 지정된 리퀘스트에 의해서 서버가 부분적 GET 리퀘스트를 받았음을 나타냄). 2. 여러 데이터를 보내기 위해 MIME(multipurpose internet mail extension)으로 불리는 메일일로, 텍스트나 영상, 이미지와 같은 여러 다른 데이터를 다루기 위한 기능을 사용하고 있다. HTTP도 멀티파트에 대응하고 있어 하나의 메시지 바디 내부에 엔.. CS/Network 2020. 9. 2. [웹 기본지식] 구글 개발자 도구를 통해 알아보는 기초 HTTP 지식 1) HTTP이란? 클라이언트 측의 request와 클라이언트측의 요청에 대한 response를 가능하게 만드는 공통의 규칙이며, 인터넷 프로토콜이라고도 말한다. 해당 파일이 어떻게 전송되고 있는지에 관하여 자세히 살펴보면, 곧 Request와 Response로 나누는 것을 알 수 있다. 2) Requset Method란? Get과 Post가 있다. Get은 주소를 가져오는 것이며, Post는 주소를 보낼 때 사용한다. 이 경우에는, my.html이라는 파일을 서버 측으로부터 가져왔으므로 Get 방식이 되는 것이다. 3) Status Code란? 정해진 규칙이다. HTTP 응답 상태 코드 번호가 200이면 "요청이 성공적으로 되었습니다"라는 뜻을 의미한다. 또한 대표적인 상태코드는 404이다. 이는 "서.. CS/Network 2020. 8. 11. 이전 1 2 3 다음 반응형