📍 1.1 네트워크, 인터넷, 웹
네트워크
'컴퓨터와 컴퓨터를 연결해 주는 망'의 개념으로 컴퓨터 네트워크의 의미로 사용
TCP/IP
컴퓨터 간에 통신할 수 있도록 만든 프로토콜
- 응용 계층 : Telnet, SMTP와 같은 네트워크 프로그램으로 구성
- 전송 계층 : 각 시스템을 연결하고 TCP 프로토콜을 이용하여 데이터를 전송
- 인터넷 계층 : IP 프로토콜을 이용하여 데이터를 정의하고 경로를 배정
- 물리 계층 : 실제 네트워크에 접근할 수 있도록 하는 물리적인 부분
인터넷
'하나로 연결된 전 세계 네트워크'를 의미하는 고유명사
미국 국방부의 연구용 네트워크인 알파넷(ARPANET)이 시초
프로토콜
네트워크에 연결된 컴퓨터들 간의 통신 규약
포트
- 네트워크 서비스에 접속하기 위한 접점
- 서비스를 구분하기 위한 용도로 사용
도메인 네임 시스템 (DNS)
- 인터넷에 연결된 컴퓨터 구분을 위해 사용하는 IP 주소 대신, 알기 쉬운 이름 형태로 컴퓨터를 구분하는 시스템
- 호스트 이름(www) + 도메인 이름(naver.com) 형태로 구성됨
웹
- 월드 와이드 웹 (World Wide Web, www)
- 많은 사람들이 웹 = 인터넷이라고 생각할 만큼 대표적인 인터넷 서비스
- 흩어져 있는 정보를 공유하기 위해 html이라는 간단한 마크업 언어를 통해 콘텐츠를 제공하고, HTTP라는 프로토콜을 사용하여 TCP/IP 네트워크에서 사용
HTTP
- 웹 서비스에서 사용되는 통신 규격
- 간단한 명령어와 헤더 규격으로 이루어짐
클라이언트 소프트웨어
- 웹 서비스를 이용하기 위한 웹 브라우저
- 인터넷 익스플로어, 크롬, 파이어폭스, 사파리
서버 소프트웨어
- 서버에서 웹 서비스를 제공하는 소프트웨어
- 아파치, 톰캣, IIS
HTTP 동작 과정
📍 1.2 웹 프로그래밍 언어와 주요 기술
웹에서 사용되는 기초 기술
프로그램은 서버에서 실행되고, 실행 결과만 브라우저를 통해 보임
프론트엔드
- 기본적으로 브라우저에 의해 처리되는 요소
- HTML : 웹 문서의 화면 구성을 정의하고 콘텐츠를 표현하는 언어
- CSS : HTML에서 구조나 디자인 요소를 분리하여 시각적 요소를 정의
- JavaScript : 웹 문서에서 사용자와의 동적인 처리를 위한 프로그램 요소 제공
백엔드
- 동적인 콘텐츠 생성을 위한 스크립트 언어 필요
- PHP, JSP(자바 서블릿 기반의 웹 프로그래밍 기술)
프레임워크
- 소프트웨어적으로는 목적에 맞게 잘 설계된 구조
- 미리 구현된 공통 모듈이 포함된 소프트웨어 개발 환경을 의미
- 개발자 입장에서는 비교적 적은 노력으로도 고품질의 소프트웨어 개발이 가능해짐
- Spring, Django, Flask, Ruby
프론트엔드 중심 개발 특징
- 서버에서 HTML만 받아오고, 서버로부터 화면 구성에 필요한 데이터는 자바스크립트로 받아와 조합하여 보여줌
- 필요한 부분만 갱신이 가능하기 때문에 서버로부터 전체 화면을 받아올 필요가 없음
- 실시간 데이터 갱신이 자유로움
백엔드 중심 개발 특징
- 다양한 서버 환경에 대응 가능
- 기술이 안정적이고 오랫동안 유지
- 현재는 MSA 방식이 확산되고 있음
'CS > 웹서비스' 카테고리의 다른 글
[웹서비스] JSP 디렉티브 태그와 액션 태그 (0) | 2023.09.30 |
---|---|
[웹서비스] 서블릿 구조 (0) | 2023.09.30 |
[웹서비스] JSP 기본 구조 (0) | 2023.09.29 |