프록시 서버구축하기

프록시 서버구축하기

프록시(Proxy)는 네트워크 통신에서 클라이언트와 서버 사이에 위치하여 클라이언트의 요청을 대신 처리하는 중계 서버입니다. 프록시는 다양한 형태와 기능을 가지고 있으며, 여러 상황에서 유용하게 사용됩니다. 다음은 프록시에 대한 일반적인 설명과 그 필요성에 대한 내용입니다.

프록시 서버구축하기
프록시 서버구축하기

// server.mjs
import { createServer } from ‘node:http’;

const server = createServer((req, res) => {
res.writeHead(200, { ‘Content-Type’: ‘text/plain’ });
res.end(‘Hello World!\n’);
});

// starts a simple http server locally on port 3000
server.listen(3000, ‘127.0.0.1’, () => {
console.log(‘Listening on 127.0.0.1:3000’);
});

// run with `node server.mjs`

이 프로그램은 Node.js를 사용하여 간단한 HTTP 서버를 설정하고 실행하는 예제입니다. 각 부분을 자세히 해석해드리겠습니다.

코드 설명

1. import { createServer } from 'node:http';

  • node:http 모듈에서 createServer 함수를 가져옵니다.
  • HTTP 서버를 생성하는 데 사용됩니다.

2. const server = createServer((req, res) => { ... });

  • createServer 함수를 사용하여 새로운 HTTP 서버를 생성합니다.
  • 서버는 클라이언트의 요청(req)을 수신하고 응답(res)을 반환하는 콜백 함수를 인자로 받습니다.
  • 이 콜백 함수는 클라이언트의 요청을 처리하고 응답을 생성하는 역할을 합니다.

3. res.writeHead(200, { 'Content-Type': 'text/plain' });

  • HTTP 응답의 헤더를 작성합니다.
  • 200은 HTTP 상태 코드로, 요청이 성공했음을 의미합니다.
  • { 'Content-Type': 'text/plain' }는 응답의 내용 유형이 일반 텍스트임을 나타냅니다.

4. res.end('Hello World!\n');

  • 응답의 본문을 작성하고, 응답을 종료합니다.
  • 클라이언트는 Hello World!\n 메시지를 응답으로 받게 됩니다.

5. server.listen(3000, '127.0.0.1', () => { ... });

  • 서버가 지정된 호스트와 포트에서 수신 대기하도록 설정합니다.
  • 3000은 서버가 수신 대기할 포트 번호입니다.
  • '127.0.0.1'은 서버가 수신 대기할 호스트 주소입니다. 이는 로컬 호스트를 의미합니다.
  • 세 번째 인자는 서버가 시작될 때 호출되는 콜백 함수입니다.
  • 이 콜백 함수는 서버가 성공적으로 시작되었을 때 콘솔에 메시지를 출력합니다.

6. console.log('Listening on 127.0.0.1:3000');

  • 서버가 성공적으로 시작되었음을 알리는 메시지를 콘솔에 출력합니다.
  • 메시지는 Listening on 127.0.0.1:3000입니다.

실행 방법

마지막 주석 부분에서 언급한 대로, 이 프로그램은 Node.js를 사용하여 실행할 수 있습니다. 아래의 명령어를 터미널에서 실행하여 서버를 시작합니다.

node server.mjs

이 명령을 실행하면 서버가 로컬 호스트의 포트 3000에서 수신 대기 상태가 되며, 웹 브라우저나 다른 HTTP 클라이언트를 사용하여 http://127.0.0.1:3000에 접속하면 “Hello World!” 메시지를 볼 수 있습니다.

요약

이 프로그램은 Node.js를 사용하여 간단한 HTTP 서버를 설정하고, 클라이언트의 요청에 “Hello World!” 메시지를 반환하는 예제입니다. 서버는 로컬 호스트의 포트 3000에서 실행됩니다.

공공 데이터 포털 API에 안전하게 접근하는 과정

세상은 내러티브다.  메섹톡톡입니다   감사드립니다.  구독은 사랑입니다.