Node.JS 공부하기 - 001

변우영·2024년 8월 28일

NodeJS

목록 보기
1/11

<목표>

  • Node.JS를 알기 위해 기본적인 지식을 공부하기

웹 브라우저란?


  • 웹 브라우저는 인터넷에서 웹 사이트를 볼 수 있도록 도와주는 소프트웨어 애플리케이션이다. 이는 사용자와 온라인에서 제공되는 방대한 정보와 네트워크 사이의 매개체 역할을 한다. 웹 브라우저로는 Google Chrome, Mozilla Firefox, Safari 등이 있다.

웹 브라우저의 기능


  • 웹 주소(URL)
    브라우저에 웹 주소(URL)를 입력하면 인터넷에서 해당 웹 페이지를 찾을 수 있다. URL은 보고 싶은 콘텐츠를 가져오기 위해 어디로 가야 하는지 브라우저에 알려주는 지도이다.

  • 렌더링 웹 페이지
    브라우저가 서버로부터 정보를 받으면 코드(HTML, CSS, JavaScript)를 화면에 표시되는 시각적 및 대화형 요소로 변환된다. 여기에는 텍스트, 이미지, 비디오, 링크가 포함된다.

  • 세션 및 쿠키 관리
    브라우저는 사용자의 세션(사용자가 웹사이트에 로그인된 상태를 유지하는 경우)을 관리하고 쿠키라고 하는 작은 데이터 조각을 저장한다. 이는 웹 사이트가 사용자의 기본 설정이나 장바구니 내용과 같은 사용자 방문 정보를 기억하는 데 도움이 된다.

웹 서버란?


  • 웹 서버는 웹사이트를 호스팅하고 인터넷을 통해 사용자에게 웹 정보를 전달하는 컴퓨터 시스템이다. 요청 시 웹페이지를 저장, 처리하고 사용자 브라우저에 전달한다. 기본적으로 웹사이트를 방문할 때 웹 서버는 화면에 표시되는 정보를 제공하는 시스템이다.

웹 서버의 주요 기능


  • 웹 호스팅
    웹 서버는 HTML 문서, 이미지, CSS 스타일시트, JavaScript 파일 등을 포함하여 웹 사이트를 구성하는 모든 파일을 저장한다.

  • 요청 처리
    사용자가 (브라우저를 통해) 웹페이지를 요청하면 서버는 이 요청을 처리하고 필요한 파일을 검색하여 사용자의 브라우저로 다시 보낸다.

  • 웹 애플리케이션 실행
    많은 웹 서버는 웹페이지에 대한 동적 정보를 생성하는 PHP, Python 또는 Ruby 코드와 같은 서버 측 스크립트의 실행도 처리한다.

  • 보안 처리
    웹 서버는 서버와 사용자 브라우저 간의 안전한 데이터 전송을 보장하기 위해 HTTPS와 같은 보안 프로토콜을 관리한다.

웹 서버와 브라우저가 통신하는 방법


  1. 사용자가 URL을 입력
    브라우저의 주소 표시줄에 URL을 입력하거나 링크를 클릭하면 통신 프로세스가 시작된다.

  2. DNS 확인
    브라우저는 URL을 웹사이트를 호스팅하는 웹 서버의 고유 주소인 IP 주소로 확인하기 위해 DNS(도메인 이름 시스템) 서버에 요청을 보낸다. DNS에서 URL을 고유 IP로 변경해준다.

  3. 연결 설정
    브라우저에 IP 주소가 있으면 TCP/IP와 같은 프로토콜을 사용하여 웹 서버와 연결을 설정한다. 웹사이트에서 HTTPS를 사용하는 경우 브라우저와 서버도 안전하고 암호화된 연결을 설정 할 수 있다.

  4. HTTP/HTTPS 요청 보내기
    브라우저는 웹 서버에 HTTP 또는 HTTPS 요청을 보낸다. 요청에는 요청 유형(예: GET 또는 POST), 요청되는 특정 리소스(예: 웹페이지 또는 이미지), 쿠키 및 브라우저 추가 정보와 같은 세부정보가 포함된다.

  5. 서버 요청 처리
    웹 서버는 요청을 받아 처리한다. 여기에는 HTML 페이지와 같은 정적 파일(Static)을 검색하거나 서버 측 코드를 실행하여 동적(Dynamic) 페이지를 생성하는 작업이 있다.

  6. 서버 응답을 보냄
    처리 후 서버는 HTTP 응답을 브라우저로 다시 보낸다. 이 응답에는 요청된 리소스(예: 웹페이지를 렌더링하는 데 필요한 HTML, CSS 및 JavaScript 파일)와 정보 유형 및 상태 코드(예: 200 OK 또는 404 Not Found)와 같은 헤더의 추가 메타데이터가 포함된다.

  7. 브라우저는 웹 페이지를 렌더링
    브라우저는 서버의 응답을 수신하고 HTML, CSS 및 JavaScript를 처리하여 최종 결과인 웹페이지를 렌더링한다.

profile
개발자로 한걸음!

0개의 댓글