[WEB] 웹 서비스 주요 키워드 개념

JY·2023년 4월 5일

CS 공부

목록 보기
1/2

클라이언트(Client) 및 서버(Server)

  • 클라이언트는 서버에 정보나 서비스를 요청하는 측을 의미하며, 서버는 정보나 서비스를 저장하고 있다가 클라이언트의 요청이 있을 때, 네트워크를 이용해 해당 데이터를 전달해주는 측
  • 클라이언트는 사용자가 사용하는 기기의 웹 브라우저를 의미하지만, 사용자 자체나 사용자가 사용하는 기기를 클라이언트라고 지칭하기도 한다. 서버 또한 물리적인 하드웨어를 의미하지만, 서버 내의 웹 서버 소프트웨어를 서버라고도 지칭하기도 한다.

요청(Request)과 응답(Response)

  • 클라이언트-서버 간의 통신은 요청-응답의 구조로 이루어진다.
  • 클라이언트 측이 서버 측에 어떤 정보나 서비스를 제공해달라고 전송하는 메시지를 요청, 서버에서 해당 요청에 맞는 데이터를 전달해주는 메시지를 응답이라고 한다.
  • 클라이언트 측은 주소 표시줄을 통해서 특정 서버에 정보를 요청할 수 있고, 클라이언트-서버 간의 통신에서는 HTTP (HyperText Transfer Protocol)가 사용된다.

프론트엔드(Front-End)와 백엔드(Back-End)

  • 프론트엔드는 웹 애플리케이션에서 사용자들에게 보여지는 부분을 의미하며, HTML, CSS로 이루어지는 디자인 요소와 이미지 슬라이드나 팝업 등 JavaScript로 구현되어야 하는 부분들이 있다.
  • 프론트엔드 개발자는 서버 측에 요청하고 반환된 정보가 사용자에게 보여지는 화면 구성을 담당함에 따라 애플리케이션의 사용자 인터페이스(User Interface, UI)와 사용자 경험(User Experience, UX) 최적화를 고려해야 한다.
  • 백엔드는 웹 애플리케이션에서 사용자가 보지 못하는 영역인 서버나 데이터베이스 등을 의미한다.
  • 백엔드 개발자는 사용자들의 요청에 해당하는 정보를 제공하기 위한 API 작성, 라이브러리 생성, 데이터베이스 통합 등 데이터를 관리하거나 서버를 운영하는 일을 담당한다.

네트워크 (Network) 와 IP주소

  • 네트워크란 서버, 라우터, 스위치 등 네트워크 장치(노드)들이 서로 유선이나 무선의 통신망(링크)으로 연결되어 자원이나 정보를 공유하는 집합을 의미한다.
  • 네트워크 장치들은 노드 간 연결을 통해 프로토콜을 사용하여 데이터를 교환한다.
  • IP 주소는 네트워크 상에서 각 네트워크 장치를 식별하기 위해 특수한 번호로 부여되는 논리적인 주소를 의미한다.
  • 현재 주로 사용되는 IP주소 형태는 0부터 255까지의 숫자가 네 마디로 구분되는 IPv4 방식

라우터(Router)

  • 라우터는 서로 다른 네트워크 간의 통신 과정에서 중계 역할을 해주는 장치로, 패킷 소모를 최소화하고 경로를 최적화하여 패킷을 포워딩 해주는 장치를 의미한다.
  • 코어 라우터, 센터 라우터, 브로드밴드 라우터 등 네트워크에서 쓰이는 위치나 규모 등에 따라 종류가 구분된다.

TCP/IP

(Transmission Control Protocol/Internet Protocol)

  • TCP/IP는 네트워크에서 사용되는 통신 프로토콜의 집합으로, 프로토콜의 네트워크 범위에 따라 애플리케이션 계층, 전송 계층, 인터넷 계층, 링크 계층으로 구분한다.
    1) 애플리케이션 계층: HTTP, DNS 등 응용 프로그램이 사용되는 프로토콜 계층
    2) 전송 계층: 송신자와 수신자를 연결하는 통신 서비스를 제공하는 프로토콜 계층으로, 애플리케이션과 인터넷 계층 사이의 데이터가 전달될 때 중계 역할을 담당
    3) 인터넷 계층 - 장치로부터 받은 네트워크 패킷을 IP 주소로 지정된 목적지로 전송하기 위해 사용되는 계층
    4) 링크 계층 - 전선, 무선 등으로 데이터를 전달하며 장치 간에 신호를 주고 받는 규칙을 정하는 계층

데이터베이스 (Database)

  • 데이터베이스는 일정한 규칙이나 규약을 통해 구조화되어 저장되는 데이터의 모음을 의미한다. 각 데이터를 담는 테이블로 구성되어 있으며, 데이터 저장 형식에 따라 데이터베이스는 RDBMS와 NoSQL로 구분할 수 있다.
  • 데이터베이스도 하나의 프로그램으로서 작동하기 위한 OS가 필요하며, 데이터베이스를 관리 하는 통합 시스템은 DBMS ( DataBase Management System)이라고 지칭한다.
  • 데이터베이스 안에 있는 데이터들은 각 DBMS의 쿼리 언어를 통해 삭제, 수정, 조회 등을 수행할 수 있고 실시간 접근과 동시 공유가 가능하다.

## 참고서적

비전공자를 위한 이해할 수 있는 IT 지식
혼자 공부하는 얄팍한 코딩 지식
면접을 위한 CS 전공지식 노트

profile
Hello World!

0개의 댓글