IT218 [http] turnnel https://en.wikipedia.org/wiki/HTTP_tunnel 페이지를 의역한 글입니다. 개념방화벽이 포함된 제한된 네트워크 사이에 두대의 컴퓨터가 네트워크 링크를 만드는데 사용터널은 프록시 처럼 중재자 역활이였다. 설명터널링은 제한된 네트워크에서 지원되지 않는 프로토콜을 이용하여 통신할 수 있도록 해주었다.터널링은 http connect method를 이용한다. 어떻게 동작하냐면, 클라이언트는 http proxy server에게 도착지점과 tcp 커넥션을 연결하라고 부탁한다. 그 서버는 클라이언트 자격으로 커넥션을 만든다. 커넥션이 맺어지면, 프록시 서버는 클라이언트로 부터 tcp stream을 교환한다. 첫 요청은 http였지만, 추후 서버는 tcp connection을 프록시 하게된다... 2024. 5. 10. [http] MIME 개념통신 시 데이터 종류를 명시 특징모든 http 객체에 mime이 포함웹브라우저는 응답을 받으면 해당 응답에서 mime을 통해 데이터 종류 확인특별한 포맷일 경우 외부 플러그인을 실행 포맷response header에 content-type과 content-lengh를 확인 html 문서일 경우Content-Type: text/html; charset=UTF-8Content-Length: 8235 js file일 경우Content-Type: application/javascriptContent-Length: 8235 2024. 5. 10. [node.js] stream - three states (5) https://nodejs.org/api/stream.html#three-states 을 참고한 글입니다.'flowing, paused mode' 이 두가지 운영방식은 Readable stream 구현체 안에서 발생하는 다양한 내부 상태를 간소화하여 추상화된 것이다. 모든 Readable 은 3가지 중 하나의 상태를 갖게 된다. readable.readableFlowing == nullreadable.readableFlowing == falsereadable.readableFlowing == true제공받은 데이터를 소비할 로직이 없을 경우 null 상태를 갖는다. 그러므로 스트림은 데이터를 생성하지 않을 것입니다. readable.pipe(), redable.resume() 중 하나를 실행해야 'rea.. 2024. 5. 5. [node.js] readable stream - two modes (4) https://nodejs.org/api/stream.html#two-reading-modes 를 참고한 글입니다.object mode와 연관없는 읽기 모드를 설명한다.flowing mode와 paused mode가 있다. flowing mode은 시스템으로부터 자동으로 데이터를 읽고 EventEmitter interface에서 발생하는 이벤트를 이용하여 최대한 빠르게 앱에 데이터를 제공한다.const fs = require('fs')const rs = fs.createReadStream('lowercase.txt');rs.on('data', (chunk) => { console.log(chunk)}); paused mode는 stream.read()를 명시적으로 반드시 호출해서 stream에 있는 d.. 2024. 5. 5. [node.js] stream - buffering (3) https://nodejs.org/api/stream.html#buffering 글을 참고했습니다. Writable Readable 모두 buffer를 사용하여 buffer 안에 데이터를 저장한다.데이터 양은 highWaterMark 설정에 따른다. highWaterMark 기본값은 16Kib (커스텀 시기본단위는 bytes)이고 objectMode일 때는 16개 이다. Readable stream일 때 stream.push를 호출하면 데이터가 버퍼 안에 저장이 된다. consumer가 stream.read를 호출하지 않는 다면 해당 데이터는 내부 큐에 계속 남아 있게 된다.highWaterMark에 의하여 설정된 threshold 만큼 버퍼에 데이터가 차면, 스트림은 일시적으로 데이터를 읽는 것을 .. 2024. 5. 4. [node.js] stream - object mode (2) https://nodejs.org/api/stream.html https://nodesource.com/blog/understanding-object-streams/ 를 참고하여 작성했습니다. 기본적으로 스트림은 String과 Buffer만 다룰 수 있지만, 상황에 따라 javascript object를 받을 수 있게 설정할 수 있다.objectMode를 활성화 시킨다면, 내부 버퍼링 알고리즘이 bytes로 계산하던 방식이 object 개수로 계산하게 된다. 이 말은 highWaterMark도 object 개수로 판단한다. 아래 예시에서 stream을 잘 활용하기 위한 library를 사용한다. const through2 = require('through2')const split2 = require.. 2024. 5. 3. 이전 1 ··· 11 12 13 14 15 16 17 ··· 37 다음