1. 인터넷의 정의와 역사
인터넷이란
- inter + Network의 합성어
- 작은 네트워크라도 인터넷과 연결될 수 있으면 모두 인터넷이라 정의
- 정보 공유를 위해 컴퓨터와 통신망을 연결한 최대의 네트워크
- 많은 통신망으로 구성된 거대한 통신
인터넷의 역사
- 군사적 목적->학술적 목적->상업적 용도
- ARPAnet:
- 현재 인터넷의 시초
- 패킷교환 방식의 TCP/IP 프로토콜을 개발하여 적용된 네크워크 - NSFnet
- INTERnet
2. 인터넷 프로토콜
프로토콜(Protocol)
- 컴퓨터나 통신 장비 사이에서 메세지를 주고 받는 양식과 규칙 체계
- 쉽게 말해 인터넷을 이용하는 사용자들간의 규약, 약속을 뜻힘
패킷 전송 방식

- 큰 용량의 정보를 작은 단위의 패킷으로 나누어 전송하는 방법
- 데이터가 일정한 크기로 나누어진 단위를 '패킷'이라고 부름
프로토콜의 종류 - TCP/IP
- TCP(Transmission Control Protocol)
- 송신자와 수신자 사이의 '전송' 단계에서 패킷의 주소와 내용을 담당하는 프로토콜 - IP(Internet Protocol)
- 패킷을 목적지까지 보내는 규칙을 정의한 프로토콜
- 절대 주소라고도 하며 숫자와 '.'으로 구성됨
- 각 서버 컴퓨터마다 유일한 IP주소를 부여 받아 다른 컴퓨터들과 구별할 수 있음

인터넷의 위의 사진과 같은 통신 원리로 자료를 주고 받고 있음
3. 웹의 정의와 구조
웹(web)이란?
- 웹(WWW): World Wide Web의 줄임말
- 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간
- 메일, 정보검색, 교육, 인트라넷 등으로 활용
- Web을 위한 프로토콜: HTTP - DNS: Domain Name System
- 도메인( ip는 외우기가 어려워 영문이나 한글 이름인 도메인을 사용하게 됨)을 컴퓨터가 알기 쉬운 ip주소로 변환하는 역할(또는 반대 역할) - 웹 접속 과정

1) 클라이언트(사용자)가 [웹 브라우저 -> 운영체제 -> 하드웨어]를 통해 접속 요청을 보냄
2) DNS Server를 거져 원하는 서버의 ip 주소를 획득하여 접속
3) 얻은 정보를 통해 [하드웨어 -> 운영체제 -> 웹 서버]를 접속, 서버에 있는 index.html 파일을 찾아서 다시 클라이언트에게 전송
클라이언트가 단순히 웹 브라우저르 통해 요청한 정보는, 위와 같은 과정을 거쳐
서버에 접속한 후, 정보를 획득하여 다시 사용자가 볼 수 있도록 웹 브라우저에 출력됨
웹의 동작
- 사용자는 웹 브라우저를 통해 웹 서버에 접속하여 원하는 정보를 획득할 수 있음
- 웹 브라우저: 인터넷 익스플로러, 크롬, 사파리

사용자가 브라우저 실행 -> 웹 접속 -> 웹 서버 정보 획득 -> 브라우저가 획득한 정보를 사용자가 보기 편한 형태의 결과로 출력
>> 웹 접속과 실행을 위해 프론트 엔드와 백 엔드의 역할이 필요
-프론트 엔드: 웹의 외관적으로 보이는 부분 담당
- HTML: 웹 페이지의 기본 구조 담당
- CSS: 웹의 스타일을 담당
-백 엔드: 웹의 데이터베이스 관리, 서버 연동 등의 외관적으로 보이지 않는 부분 담당
- JavaScript: 웹 페이지의 동작 담당
- Jquery, nodeJS: 자바스크립트의 기능을 활용
- Cordova: 하이브리드 앱 개발
4. 웹앱의 정의와 종류
웹앱: 모바일 기기뿐만 아니라 PC 환경까지 포함하여 웹 브라우저를 통해 접속이 이루어지는 응용 프로그램
|
종류
|
정의 및 특징
|
장점
|
단점
|
|
호스티드앱 (Hosted App)
|
온라인 상태에서 URL 접속을 통해 실행되며, 실행에 필요한 모든 웹 문서가 웹 서비스에서 제공되어야 함.
|
웹 서버 내용만 고치면 되므로 유지보수가 편리함.
|
항상 온라인 상태여야 하며, 모바일 기기의 API 사용에 제약이 있음.
|
|
패키지드앱 (Packaged App)
|
실행에 필요한 웹 문서와 파일들을 ZIP 파일로 압축하여 제공하며, 앱 마켓에서 다운로드 및 인증을 받아 설치됨.
|
로컬에서 실행되므로 더 많은 API 사용이 가능함. 온라인 웹 서버 운영 불필요.
|
수정사항 발생 시 앱 마켓에 재등록해야 하는 번거로움이 있음.
|
|
네이티브 앱 (Native App)
|
각각의 스마트폰 OS 환경에서 별도로 제공하는 프로그래밍 언어(Object-C, Java, C# 등)와 SDK를 이용해 제작됨. 해당 OS 환경에서 반드시 제작해야 함.
|
앱스토어 등록으로 전 세계 사용자가 쉽게 구매할 수 있으며, 스마트폰의 모든 하드웨어 기능을 사용할 수 있음.
|
앱스토어 개발자 등록 및 년 회비 지불 필요. 웹앱에 비해 업데이트가 복잡함.
|
|
모바일 웹 (Mobile Web)
|
데스크탑 브라우저용 웹 애플리케이션을 모바일 크기로 줄인 것 (모바일 웹사이트). 일반 웹 기술로 개발되고 모바일 브라우저에서 실행됨.
|
|
속도가 느리고 (풀 브라우징 방식), 이동 중 접속 장애 발생 가능성이 있어 불안정함.
|
|
모바일 웹앱 (Mobile Web App)
|
모바일 웹보다 모바일에 더 최적화되고 네이티브 앱화 된 것. 웹 기술로 개발되지만 단일 페이지 모델을 사용하여 화면을 전환하여 모바일 웹보다 실행 속도가 빠름.
|
모바일 웹보다 실행 속도가 빠름.
|
|
|
하이브리드 앱 (Hybrid App)
|
네이티브 앱과 웹앱의 장점을 가지고 단점을 보완한 형태. 외부 형태는 네이티브 앱이지만, 실제 내부는 모바일 웹앱으로 실행 (예: 은행 애플리케이션).
|
(네이티브 앱과 웹앱의 장점 혼합).
|
|
'러닝커뮤니티 > 웹프로그래밍' 카테고리의 다른 글
| 1회차 오답 노트 (0) | 2025.11.10 |
|---|---|
| 리눅스쉘 명령 (0) | 2025.11.10 |
| Vi editor, Nano editor (0) | 2025.11.10 |
| putty와 WinSCP (0) | 2025.11.05 |
| 클라우드 컴퓨팅의 기본 개념과 AWS 사용 방법 (0) | 2025.11.02 |