KnockOn pre WebHacking 과정 TIL를 작성해보고자 합니다.
KnockOn은 군 복무하면서 사지방에서 진행할 수 있는 저의 첫 온라인 부트캠프입니다.
시간이 부족할수도있겠지만 최대한 노력 해보겠습니다.
WEB (World Wide Web)
🍀
웹은 “World Wide Web”의 줄임말로 정보를 주고받을 수 있는 공간을 의미합니다. 다른 말로 www라고 부르기도 합니다.
웹은 “인터넷” 이라는 통신망을 이용한 하나의 서비스입니다.
여기서 “인터넷”이란 Inter-network라는 의미이여, 전 세계가 연결되어있는 거대한 통신망을 의미합니다. 이 인터넷은 실체는 존재하지 않는 추상적인 개념입니다. 중앙 집중적이지 않고, 매우 복잡하게 얽힌 통신망입니다.
서울에서 LA에 있는 친구에게 카카오톡을 보내면, 서울에 있는 컴퓨터에서 거대한 인터넷이라고 불리는 존재에 요청을 보내게 되고, 이 인터넷이라는 통신망은 목적지인 LA에 사는 친구에게 해당 내용을 전송하게 됩니다.
저희는 이 pre.Web과정을 통해 네트워크의 의미와 웹의 작동방식을 배워보도록 하겠습니다.
💡 이번에 배울 내용은 다음과 같습니다.
- 웹이란?
- 웹과 인터넷
- 웹서버
- 웹브라우저
- 서버, 클라이언트
1. 웹이란?
웹(Web)은 정보를 인터넷을 통해 사용자들이 공유할 수 있도록 설계된 시스템입니다.
HTML(HyperText Markup Language)로 작성된 문서들을 하이퍼링크를 통해 연결하여 사용자가 쉽게 탐색할 수 있도록 하며, 웹 브라우저를 통한 도메인/URL 접속 및 웹 리소스(이미지, 비디오, 등)를 접근할 수 있도록 합니다.
2. 웹과 인터넷
💡 웹과 인터넷은 서로 연관되지만, 다른 개념입니다.
인터넷(Internet):
인터넷은 전 세계 컴퓨터 연결을 위한 기반으로 네트워크의 집합체입니다. TCP/IP 프로토콜을 통해 컴퓨터 간 데이터 전송이 이루어지며, 인터넷은 다양한 서비스(웹, 이메일, FTP 등)를 제공하는 기반 기술입니다.
웹(Web):
반면, 웹은 인터넷 위에서 작동하는 정보 접근 및 공유를 위한 시스템입니다. 인터넷은 데이터를 전달하는 역할을 하고, 웹은 데이터를 표현하고 사용자가 상호작용할 수 있는 방식(HTML, CSS, JavaScript 등)을 제공합니다.
비유: 인터넷은 전 세계를 연결하는 도로망이고, 웹은 그 위에서 주행하는 자동차입니다. 다른 서비스들(이메일, VoIP, 클라우드 등)은 각각 다른 차량에 해당합니다.
3. 웹서버(Web Server)
웹서버는 클라이언트(사용자의 웹브라우저)가 요청한 웹 페이지를 전달하는 컴퓨터 또는 소프트웨어입니다.
요청에 따라 웹 페이지, 데이터, 리소스 등을 제공하는 역할을 수행하며, 사용자가 인터넷에서 웹사이트를 방문할 수 있도록 돕는 핵심적인 요소입니다.
HTTP 요청 처리:
- 클라이언트(웹 브라우저)에서 오는 HTTP/HTTPS 요청을 받아들이고, 이를 처리한 뒤 적절한 응답을 반환합니다.
- 요청의 유형에는 GET(데이터 요청), POST(데이터 전송), PUT, DELETE 등이 있습니다.
동적 콘텐츠 처리:
- 클라이언트 요청에 따라 실시간으로 생성되는 동적 콘텐츠를 처리할 수 있습니다.
- 웹서버는 PHP, Python, Node.js 등의 백엔드 애플리케이션과 협력하여 동적인 데이터를 생성합니다.
- 예: 사용자가 로그인하면 "환영합니다, [사용자 이름]" 같은 맞춤형 메시지를 생성
정적 콘텐츠 제공:
- HTML, CSS, JavaScript, 이미지, 동영상 등의 파일 형태의 콘텐츠를 그대로 클라이언트에 전달합니다. 예: 홈페이지에서 보이는 기본 텍스트와 이미지.
이처럼 웹서버는 HTTP(혹은 HTTPS) 프로토콜을 통해 클라이언트와 통신하며, 정적 콘텐츠와 동적 콘텐츠를 제공합니다.
4. 웹 브라우저 (Web Browser)
웹브라우저는 사용자가 인터넷을 통해 웹페이지를 볼 수 있도록 돕는 소프트웨어입니다.
HTTP 요청 전송을 통해 사용자가 URL을 입력하면, 해당 서버에 요청을 합니다.
렌더링 엔진으로 서버로부터 전달받은 HTML, CSS, JavaScript 파일을 해석해 웹 페이지를 시각적으로 표시합니다.
5. 서버(Server)와 클라이언트(Client)
웹의 작동 구조는 서버와 클라이언트의 상호작용으로 이루어집니다.
서버(Server)는 데이터를 저장하고, 클라이언트의 요청에 따라 데이터를 제공하는 역할합니다. 이는 항상 네트워크에 연결되어 있어야 하며, 클라이언트의 요청에 실시간으로 응답해야 합니다.
(웹서버, 데이터베이스 서버, 메일 서버 등 다양한 유형)
클라이언트(Client)는 서버에 요청을 보내고, 응답 데이터를 받아 사용하는 사용자 측 컴퓨터나 소프트웨어. 웹브라우저가 대표적인 클라이언트 소프트웨어입니다.
기타 정리
정적 콘텐츠와 동적 콘텐츠의 차이
구분정적 콘텐츠동적 콘텐츠
제공 방식 | 서버에서 파일 그대로 제공 | 요청에 따라 실시간으로 생성 후 제공 |
변경 가능성 | 고정된 데이터 | 사용자 요청에 따라 결과가 다름 |
속도 | 빠름 | 처리 속도는 서버 성능에 따라 달라짐 |
리소스 사용량 | 적음 | 많음 |
사용 사례 | 홈페이지, 이미지 제공 | 로그인, 검색 결과, 쇼핑몰 장바구니 등 |
'KnockOn > 1주차 TIL' 카테고리의 다른 글
[1주차 TIL] KnockOn Bootcamp - 프록시 (1) | 2024.12.07 |
---|---|
[1주차 TIL] KnockOn Bootcamp - 패킷 (0) | 2024.12.07 |
[1주차 TIL] KnockOn Bootcamp - 쿠키와 세션 (0) | 2024.12.07 |
[1주차 TIL] KnockOn Bootcamp - HTTP / HTTPS (0) | 2024.12.07 |
[1주차 TIL] KnockOn Bootcamp - 프로토콜 (1) | 2024.12.07 |