피드로 돌아가기
Node.js 0.5.0 (Unstable)
Node.js BlogNode.js Blog
Backend

Node.js가 0.5.0 버전에서 Windows IOCP 지원, Unix Domain Sockets, Diffie-Hellman 암호화, OpenSSL NPN 등 26개 기능을 추가해 크로스플랫폼 및 보안 역량 확대

Node.js 0.5.0 (Unstable)

2011년 7월 6일5intermediate

Context

Node.js 초기 버전은 Linux 기반 I/O 처리에 최적화되어 Windows 환경에서의 성능이 제한적이었고, 암호화 및 네트워크 기능이 부족했다.

Technical Solution

  • libuv 기반 Windows IOCP 백엔드 도입: --use-uv 플래그로 활성화 가능한 비기본값 옵션으로 제공
  • 프로세스 관리 강화: child_process.fork() 메서드 추가로 별도 Node.js 프로세스 생성 가능
  • 파일 시스템 기능 확장: fs.utimes(), fs.futimes(), fs.lchow, fs.lchmod, fs.fchmod, fs.fchown 추가
  • 네트워크 지원 확대: Unix Domain Sockets를 HTTP에 통합, 클라이언트 TCP 연결에 remoteAddress/remotePort 제공
  • 암호화 및 보안 강화: Diffie-Hellman 지원, OpenSSL NPN, secureOptions 플래그 및 TLS ciphers 설정 가능화
  • 버퍼 인코딩 및 데이터 처리: Buffer::fill 메서드, floats/doubles 읽기/쓰기, 'hex' 인코딩 추가
  • 시스템 정보 조회: process.uptime(), process.arch, os.getNetworkInterfaces() 추가
  • REPL 및 모듈 개선: REPLServer 컨텍스트 사용 방식 변경, AMD(asynchronous module definition) 지원 추가, REPL에서 ^C 핸들링 변경
  • EventEmitter 유연성 증대: 모든 리스너를 한 번에 제거하는 기능 추가
  • 기타 기능: path.relative() 메서드, stdin으로부터 스크립트 읽기, DTrace probes에 X-Forwarded-For 지원

Key Takeaway

Node.js 0.5.0은 플랫폼 간 호환성(Windows IOCP), 암호화 표준(Diffie-Hellman, OpenSSL NPN), 저수준 시스템 인터페이스(Unix Domain Sockets, 버퍼 조작)를 동시에 강화하여 엔터프라이즈 환경으로의 진입 기반을 마련했다.


Node.js 기반 서버 개발 시

0.

5.0 이상 버전을 사용하면 Windows와 Linux에서 동일한 I/O 성능을 얻기 위해 --use-uv 플래그로 libuv IOCP 백엔드를 활성화할 수 있고, TLS 통신이 필요한 경우 secureOptions 플래그로 암호화 알고리즘을 세밀하게 제어할 수 있으며, Unix Domain Sockets를 HTTP와 함께 사용하면 로컬 IPC 성능을 향상시킬 수 있다.

원문 읽기