Dev-Tino

Dev-Tino 5주차(2):: Node.JS vs 브라우저 환경

둘의 차이점, 브라우저 정의 Node.JS, 둘의 차이.

Node JS에 대한 것은 이 쪽을 참고한다:: https://withglyph.com/fleshgolem_com/1028311983

저번 게시글에서 Node.JS에 대해 이야기하였다. 자바 스크립트를 실행시키는, V8 엔진으로 만들어진 런타임 환경 Node JS는 브라우저에 종속적이던 JS를 브라우저 환경이 아닌 곳에서도 작동시키려는 시도, 서비스이다. 비동기 이벤트 주도의 Node.JS는 JS를 웹 브라우저로부터 독립시켜 서버 구현을 할 수 있도록 만들어주었다.

사람들은 어째서 Node.JS 환경을 만들어내었을까? 어째서 브라우저 환경과 Node.JS 환경을 분리했을까? 이 포스트에서는 브라우저, 브라우저와 Node.JS의 차이점에 대해 정리한다.

브라우저

-HTTP(하이퍼 텍스트 전송 프로토콜, 텍스트, 이미지, 비디오가 웹에서 전송되는 방식을 정의하는 일종의 약속. )을 이용해, 다른 곳에서 정보를 받아와 사용자의 데스크톱이나 모바일 장치에 보내주는 것.

-HTML 문서와 그림, 멀티 미디어 파일 등 월드 와이드 웹(World Wide Web, 인터넷 통신망에서 HTTP로 데이터를 전송하는 정보 시스템.)

브라우저는 웹에서 페이지를 검색하고 표시하며 사용자가 하이퍼 링크(*하이퍼 텍스트 문서 안에서 직접 모든 형식의 자료를 연결하고 가리킬 수 있는 참조 고리)를 통해 추가 페이지에 접근할 수 있도록 하는 프로그램이다. 사용자에게 가장 친숙한 유형으로, HTML, CSS, JavaScript를 실행하여 웹페이지를 화면에 띄워주는 것을 목적으로 한다.

그러나 Node.JS는 JavaScript 코드를 서버에서 실행할 수 있도록 하고, 어떤 기기에서도 실행할 수 있도록 만들어주는 것을 목적으로 한다.

브라우저의 경우 ‘사용자에게 웹페이지를 띄워주는 것이 목적’이므로 Web API(*웹 서버나 웹 브라우저를 위한 API, 웹 애플리케이션의 클라이언트와 연관된 처리 인터페이스들을 통칭한다.)가 포함되어 있으나 사용자 컴퓨터에서 동작하기 때문에, 브라우저를 통한 사용자 컴퓨터의 파일 조작은 불가능하다.

그러나 Node.JS는 서버를 이용해 데이터를 다룬다. 그를 위해 로컬 스토리지에 파일 생성, 수정, 삭제하는 API를 제공한다. 브라우저보다 깊숙한 곳까지 제어 가능하기에 백엔드 용으로 사용 가능하다.

이 외에도 다양한 특징이 있는데. 이에 대해서는 Node.JS의 공식 문서를 참고한다.

Node.JS의 특징

-브라우저가 대부분의 시간은 DOM이나 쿠키와 같은 웹 플랫폼 API와 상호작용하는 데에 쓰인다. 이것들은 Node.JS에게는 존재하지 않는다. Node.JS에게는 document나, window, 그리고 브라우저가 제공하는 다른 객체가 존재하지 않는다.

Node.JS에는 브라우저에 있는 다양한 API가 없지만, 대신 모듈과 파일 시스템에 접근할 수 있는 기능을 제공한다.

다른 큰 차이점으로는 ‘Node.JS로 당신의 환경을 컨트롤할 수 있다는 점’이 있다. Node.JS는 어플리케이션을 작동시킬 수 있다. 브라우저 환경과 비교했을 때, 당신의 사용자가 어떤 ‘브라우저 환경’을 사용할지 모르는 상황일 때 이 Node.JS는 아주 편리하다.

이는 당신이 브라우저 종속적이던 언어 JS를 Node.JS 버전의 지원을 받아 자유롭게, 그리고 다른 환경에 비해 빠르게 작업할 수 있다는 이야기이다.

Node.JS는 브라우저가 제공하는 웹 API 등이 존재하지 않지만, 대신 파일 시스템에 접근할 수 있는 모듈과 빠른, 브라우저에 종속적인 작업 환경을 제공한다는 점이 다르다. 이 Node. JS에 대해 잘 알아보고 공부하자.


Node.JS와 브라우저의 환경 정리

브라우저

-브라우저는 HTTP를 이용해 다른 곳에서 정보를 받아와 사용자의 데스크톱이나 모바일 장치로 보내준다.

-HTML 문서와 그림, 파일 등을 월드 와이드 웹으로 연결한다.

-웹에서 페이지를 검색하고 표시하며 사용자가 하이퍼 링크를 이용해 추가 페이지로 접근할 수 있도록 돕는다.

-사용자에게 가장 친숙한 유형, HTML, CSS, JS를 화면에 띄워주는 것을 목적으로 함

-WebAPI 포함.

-브라우저를 통한 사용자 컴퓨터의 파일 조작 불가능.

-대부분의 시간을 DOM, 쿠키와 같은 웹 플랫폼 API와 상호작용하는 데에 쓰인다.

Node.JS

-JS를 어떤 기기에서든지 실행할 수 있도록 하는 데에 목적

-서버를 이용해 데이터를 다룬다.

-로컬 스토리지에 파일 생성, 수정, 삭제하는 APi 제공

-모듈과 파일 시스템에 접근할 수 있는 기능 제공

[참고 자료]

-https://heedonguri.tistory.com/43

-https://velog.io/@gwanuuoo/node.js%EC%99%80-%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%9D%98-%EC%B0%A8%EC%9D%B4

-https://velog.io/@remon/%EA%B0%9C%EB%B0%9C-%EA%B8%B0%EB%B3%B8-%EC%A7%80%EC%8B%9D-Node.js%EB%9E%80

-https://www.mozilla.org/ko/firefox/browsers/what-is-a-browser/

카테고리
#기타

댓글 0



추천 포스트