이전에 포스팅을 했었기 때문에 이 부분은 건너뛰도록 하겠다. 1. 웹 서버란? 1. 웹 서버란?브라우저를 통해서 naver에 들어가게 되면DNS Server는 naver url이 연결되어 있는 IP address를 저장해뒀다가 알려준다. 만약 DNS Server가 없다면 사용자가 naver에 접속하기 위한 IP address를 외우고 있어야dnjfht.tistory.com 2. HTTP Requests HTTP Requests- HTTP란? (Hypertext Transfer Protocol) HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜(약속)이다.HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트 · 서버 프로dnjfht.tistory.com 3. St..

1. npm이란?npm은 node package manager를 의미한다.npm은 이렇게 두 가지 역할로 나뉘어져 있다. npm은 오픈 소스 Node.js 프로젝트 게시를 위한 오프라인 리포지토리(저장소)이다.이 말을 풀어서 설명하면 이러하다. 애플리케이션에 어떠한 package가 필요할 경우,npm install package-name을 통하여 package를 설치할 수 있다.그때, 이 package(npm 레지스트리 모듈들)를 가져오는 곳, 즉 저장되어 있는 곳을 npm이라고 한다. 그리고 또한,npm install, npm run start 등... npm을 사용해서 원하는 작업을 처리를 해준다.package 설치, 버전 관리 및 종속성 관리를 지원하는 해당 저장소와 상호작용하기 위한 명령줄 유틸리..

- Index.js 파일Node.js를 만든 개발자는 index.js 파일을 만든 것을 후회한다고 하였다.이 index.js 파일이 module의 로딩 시스템을 굉장히 복잡하게 만든다는 얘기다.지금까지 했던 프로젝트의 리팩토링을 통하여 어떻게 module 시스템을 복잡하게 만드는지 살펴보겠다. lib 폴더를 하나 생성하고, 내부에 index.js 파일과 request.js, response.js 파일을 넣어준다.만약, 기능별로 나눠둔 module 파일이 많아진다면 그때 index.js 파일을 사용할 수 있다. 폴더 안에 각 module을 담은 파일이 너무 많을 경우, index.js에서 처리한다.방법은 여러 가지가 있다.1.// index.jsmodule.exports = { request : req..

- Module 캐싱이란?module에서 다른 module을 가져올 때 캐싱(caching)이 일어나게 된다.module 하나를 여러 번 가져와 사용하더라도 module을 그때마다 새롭게 가져오지 않는다.module을 한 번 가져와 사용하는 순간 캐싱이 되기 때문이다. // request.jsconst { read } = require("./response.js");function encrypt(data) { return "encrypted data";}function send(url, data) { const encryptedData = encrypt(data); console.log(`${encryptedData} is being sent to ${url}`);}module.exports = {..

- CommonJS Module지금까지 사용한 module은 CommonJS 였다.바로, module.exports로 내보내고 require로 가져오는 것 말이다.CommonJS는 node.js에서 기본 module로 사용되고 있다. - ECMAScript Moduleexport, import를 사용해서 module을 내보내고 가져오는 Syntax을 사용한다.ECMAScript module을 사용하려면 파일 확장자를 mjs로 변경해야 한다.ECMAScript Module은 javascript의 표준이고 CommonJS Module은 Node.js의 기본값이다. 모든 주요 브러우저는 ES Module을 지원하며,React 및 Vue.js와 같은 프레임워크에서도 ES module의 가져오기(import), ..

- HTTPS module 생성하기이번에는 Node.js의 HTTP module을 가져다 사용하는 것이 아닌,HTTPS module을 직접 만들어서 사용해보겠다. HTTPS module의 역할은,client에서 데이터를 암호화해서 특정 경로에 요청을 보내고,server에서 암호화되어서 온 결과 데이터를 복호화하여 client로 다시 보내주는 것이다. 파일은 https.js, request.js, response.js 파일을 사용할 것이다.request.js와 response.js에서 만든 module을 https.js 파일로 가져와서 사용할 것이다.request.js는 요청에 필요한 함수 등을 포함하고(암호화),response.js는 데이터의 결과를 가져오는데 필요한 함수들을 포함한다.(복호화) // ..