TIL_20.05.20(수) - Server->Client

nRecode·2020년 5월 20일
0

TodayILearned

목록 보기
45/95
post-thumbnail

어제까지만 해도 완전 멘붕에,,, 자괴감 들고 진짜 장난아니었는데 진짜 종이 한 장 차이라는 말이 와닿는다.. 이거 조금 이해하고 저거 조금 이해하니깐 전체적인 코드가 보이기 시작해 답답하던 것이 줄었다... 열심히 하자 믿습니다...

Node.js

chrome v8 javascript 엔진으로 빌드된 javascript 런타임.

자바스크립트를 컴파일 해주는 역할을 하는것이 v8엔진,
런타임은 프로그래밍 언어가 구동되고 있는 환경을 말한다.

node.js는
이벤트 기반의 논 블로킹 I/O모델이라고 하는데,
이벤트는 유저의 버튼클릭이나 네트워크에 리소스를 요청 하는 것 등을 말한다.
그럼 논블로킹과 블로킹의 차이는?

  • 블로킹 - 다음함수의 실행이 현재 함수의 종료이후에 이루어지는 것
  • 논블로킹 - 다음함수의 실행이 현재 함수의 종료를 기다리지 않음.

-> Node.js는 유저의 클릭이나 네트워크에 리소스를 요청하는 이벤트가 논블로킹으로 이루어지는 Input Output model

도메인에 접속하는 과정?

Step 1 : 도메인 이름 탐색

  1. DNS서버에 접속 한 후, www.google.com의 IP가 무엇인지 요청
  2. DNS서버는 요청에 대한 응답으로 216.58.17.196 리턴

Step 2 : 웹 서버(HTTP) 요청

  1. 웹 서버의 라우팅(주소 탐색 규칙)에 따라 요청 처리
  2. 서버가 요청에 대한 응답을 자원(resource)의 형태로 전달
  3. 서버가 보내주는 자원을 브라우저에서 처리

Server -> Client

본격적인 진행에 앞서서 nodemone 사용해 봤는데 npm으로 설치하니깐 안되던데,,, npx로 실행하니까 돌아갔다??? 차이가 뭘까. 더 공부해 보는 걸로

그리고 nodemon 사용하는 중 에러떠서 이건 또 뭐야... 했는데, 기존의 프로세스가 기실행 중일 경우 port 충돌 발생으로 정상 실행이 안되는 것이었다.
https://november11tech.tistory.com/116
로 해결!

profile
안정성, 확장성 있는 서버를 구축하고 가꾸는 개발자를 목표로 공부하고 있습니다. 🤔🤔🤔🤔 부족하기에 맞지 않는 내용이 있을 수 있습니다. 가감없이 피드백 해주시면 정말 감사하겠습니다..🙏

0개의 댓글