백엔드의 구조
- 클라이언트와 서버의 상호작용: 클라이언트(예: 브라우저)가 요청을 보내면, 웹 서버가 이를 받아 응답합니다.
웹 서버의 역할
- 정적 페이지 처리: 웹 서버는 HTML, CSS, JavaScript 같은 정적 파일을 클라이언트에 제공합니다.
- 동적 페이지 위임: 동적 페이지 요청은 웹 서버가 직접 처리하지 않고, 웹 어플리케이션 서버에 전달합니다.
웹 어플리케이션 서버와 데이터베이스
- 동적 페이지 처리: 웹 어플리케이션 서버는 사용자의 요청에 따라 데이터베이스와 상호작용하면서 동적 컨텐츠를 생성합니다.
- 데이터 연산: 조회, 수정, 삭제 등의 데이터베이스 작업을 수행하여 요청된 작업을 완료합니다.
Node.js의 이해
Node.js란?
- 자바스크립트 확장: Node.js는 자바스크립트를 브라우저 이외의 환경에서 실행할 수 있게 해주는 플랫폼입니다. 이를 통해 백엔드 프로그래밍도 가능해집니다.
포트 번호
- 통신의 시작점: 클라이언트와 서버가 '같은 주파수'로 맞추어야 통신할 수 있습니다. 이를 위해 포트 번호를 사용합니다.
HTTP 프로토콜의 구조
- Head 부분:
- 상태 코드(200: 정상, 404: 찾을 수 없음, 500: 서버 오류)와 응답 타입을 포함합니다.
- Body 부분:
- 사용자가 웹 페이지에서 볼 수 있는 내용을 담고 있습니다.
모듈화된 서버
- 재사용 가능: Node.js를 이용해 만든 서버도 다른 JavaScript 파일에서 모듈처럼 재사용할 수 있습니다.
URL과 라우팅
- URL (Uniform Resource Locator):
- 인터넷 상의 웹 페이지 위치를 알려주는 주소입니다.
- 서버와 라우터의 역할:
- 서버: 요청을 받습니다.
- 라우터: 요청의 URL에 따라 처리 경로를 정해줍니다.
반응형
'Computer Science' 카테고리의 다른 글
혁신적인 소프트웨어 개발 방법론: 폭포수 모델과 애자일 모델의 깊이 있는 비교 (0) | 2024.05.01 |
---|---|
소프트웨어 공학이란 무엇인가? (0) | 2024.05.01 |
웹의 이해 (0) | 2024.04.18 |
프로그램의 번역과 실행 (0) | 2024.04.17 |
컴퓨터 구조의 설계와 구현 (0) | 2024.04.17 |