분류 전체보기
-
-
-
Apache와 NginxNode.js 2021. 9. 24. 05:26
Apache란? 세계에서 가장 많이 쓰이는 HTTP 웹 서버 중 하나 이다. 정적인 데이터를 처리하는 웹 서버 이다. client에 요청을 받으면 MPM 방식으로 처리를 하는데 Prefork와 Worker방식이 있다. [ Prefork MPM ] 실행중인 프로세스를 복제하여 처리한다. 각 프로세스는 한번에 한 연결만 처리한다. 요청량이 많아질수록 프로세스는 증가한다. 프로세스 복제시 메모리 영역까지 복제되어 동작한다. 프로세스간 메모리 공유가 없어 안정적이다. [ Worker MPM ] 1개의 프로세스가 각각 여러개 쓰레드를 사용하는 방식이다. 쓰레드간 메모리를 공유하여 메모리를 덜 사용한다는 장점이 있다. WAS 웹 서버와 웹 컨테이너를 포함한 개념 , 동적으로 DB와 연결하여 여러 데이터를 활용해 페..
-
NPM과 package.jsonNode.js 2021. 9. 24. 04:55
npm 이란? Node Package Manager 대부분의 자바스크립트 프로그램은 패키지라는 이름으로 npm에 등록되어 있다. Package.json이란? Package.json은 패키지의 버전을 관리하는 파일이다. 따라서, 패키지를 사용하기 전에 package.json부터 만들어야 한다. nodemon 소스 코드가 바뀔 때마다 자동으로 노드를 재실행해주는 패키지 npm install --save-dev nodemon node_modules node_modules는 package들이 저장되어있다. 삭제 되거나 없어도 괜찮다. npm install 한번이면 된다. Version 노드 패키지들의 버전은 항상 세 자리로 이루어져있다. 이것은 SemVer 방식의 버전 넘버링을 따른다. 즉, 세 자리 모두 의미..
-
HTTPs HTTP2Node.js 2021. 9. 24. 03:32
HTTPs https 모듈은 웹 서버에 SSL 암호화를 추가한다. => GET이나 POST 요청을 할 때 오가는 데이터를 암호화해서 중간에 다른사람이 요청을 가로채더라도 내용을 확인할 수 없게 한다. https는 아무나 사용할 수 있는 것이 아니다. 인증해줄 수 있는 기관도 필요하다. https의 첫 번째 인수로 인증서에 관련된 옵션 객체를 넣어준다. HTTP2 SSL 암호화와 더불어 최신 HTTP프로토콜인 http/2를 사용한다. 요청 및 응답 방식이 개선되어 훨씬 효율적이다. 모듈을 http => http2 , createServer => createSecureServer로 변경하면 된다. https://github.com/jin-Pro/Node_JS-/tree/master/HTTP/4-4 GitHu..
-
쿠키와 세션Node.js 2021. 9. 24. 03:32
클라이언트에서 요청을 보내게되면 한 가지 큰 단점이 존재한다. 바로, 누가 보냈는지 모른다는 것이다. IP 주소나 브라우저의 정보를 받아올 수 있지만, 공통으로 IP 주소를 가지거나, 한 컴퓨터를 여러 사람이 사용할 수도 있다. 이 문제에 대한 해답이 로그인이다. 서버는 누구인지 기억하기 위해 요청에 대한 응답을 할 때 쿠키라는 것을 같이 보낸다. 웹 브라우저는 서버로부터 쿠키가 오면 쿠키를 저장해두었다가 다음 요청할 때마다 쿠키를 동봉해서 보낸다. 브라우저는 쿠키가 있다면 자동으로 보내주기 때문에, 우리는 서버에서 브라우저로 쿠키를 보내는 부분만 구현하면 된다. 쿠키는 요청의 헤더에 담겨 전송된다. const http = require('http'); http.createServer((req,res)=..
-
REST와 라우팅Node.js 2021. 9. 24. 03:32
서버에 요청을 보낼 때는 주소를 통해 요청의 내용을 표현한다. 주소가 /index.html 이면 서버의 index.html을 보내달라는 뜻이다. html파일 뿐만아니라 css,js 와 동작을 요청할 수 있다. 이렇게 요청의 내용이 주소를 통해 표현되기때문에 서버가 이해하기 쉬운 주소를 사용해야한다. 여기서 REST가 등장한다. REST ( REpresentational State Transfer ) 서버의 자원을 정의하고 자원에 대한 주소를 지정하는 방법을 가리킨다. 주소는 의미를 명확히 전달하기 위해 명사로 구성된다. /user => 사용자 정보에 관련된 자원 /post => 게시글에 관련된 자원 REST에는 주소 외에도 HTTP 요청 메서드라는 것을 사용한다. GET : 서버 자원을 가져오고자 할 때..