>웹 프론트엔드 >JS 튜토리얼 >내부적으로 노드에 서버 생성

내부적으로 노드에 서버 생성

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-15 01:01:10814검색

Create Server in node under the hood

이미지는 Node.js 서버가 들어오는 HTTP 요청을 처리하는 방법을 설명하는 개념 다이어그램인 것 같습니다.
다음은 다이어그램에 표시된 구성 요소와 해당 관계에 대한 설명입니다.

주요 구성품:

  1. Node.js 서버 코드:

    • 코드 조각은 Node.js에서 HTTP 서버를 설정하는 방법을 보여줍니다.
     const doOnIncoming = (req, res) => {};
     const doOnError = (error, data) => {};
    
     const server = http.createServer();
    
     server.listen(80);
     server.on('request', doOnIncoming);
     server.on('error', doOnError);
    
  • 기능:
    • doOnIncoming: 들어오는 요청을 처리합니다.
    • doOnError: 서버 오류를 처리합니다.
  • server.listen(80): 포트 80에서 수신 대기하도록 서버를 시작합니다.
  • 이벤트 핸들러:
    • 'request': doOnIncoming 함수를 트리거합니다.
    • 'error': doOnError 함수를 트리거합니다.
  1. HTTP 요청 흐름:

    • 요청(예: http://twitter/3)이 서버로 전송됩니다.
    • 소켓 연결을 통해 버퍼로 받습니다.
  2. Libuv 및 컴퓨터 기능:

    • Libuv는 Node.js와 시스템 수준 작업 간의 브리지 역할을 합니다.
      • 네트워킹파일 시스템 작업을 처리합니다.
    • 비동기 I/O 작업을 관리합니다.
  3. Node.js/C 기능:

    • 자동 추가된 인수:
      • req(요청 개체): 본문, 헤더 등의 세부정보가 포함됩니다.
      • res (응답 객체): send(), status(), json() 등의 메서드를 제공합니다.
    • 자동 실행 기능:
      • doOnIncoming: 요청을 처리하고 응답을 보냅니다.
      • doOnError: 오류를 처리하고 기록합니다.
  4. 저장 계층:

    • 함수 및 서버 관련 메소드에 대한 정의가 포함되어 있습니다.
      • doOnIncoming
      • doOnError
      • 서버 객체(listen 및 on 메소드 포함).

요청 흐름 개요:

  1. HTTP 요청이 시스템에 입력됩니다.
  2. 요청을 처리하기 위해 소켓이 열립니다. 포트(80/443)
  3. 요청은 시스템의 네트워킹 및 파일 시스템 기능과 상호 작용하는 Libuv를 통과합니다.
  4. Node.js는 사전 정의된 함수(doOnIncoming 및 doOnError)를 사용하여 요청을 처리하고 응답을 다시 보냅니다.

이 다이어그램은 JavaScript, Node.js 및 시스템의 기본 C 기능 간의 상호 작용을 보여주며 Node.js가 낮은 수준에서 요청을 처리하는 방법을 명확하게 보여줍니다.

참고:-
https://frontendmasters.com/courses/servers-node-js/

위 내용은 내부적으로 노드에 서버 생성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.