Background: Web
# 들어가며 - 서론
- 웹(World Wide Web, W3, Web): 현대 정보 통신을 대표하는 통신 수단 중 하나
- 웹이란, 인터넷이라는 통신망을 활용하여 구현된 전 지구적 정보 공간
> 시간과 장소에 구애받지 않고 인터넷에 접속할 수만 있다면, 웹에서 정보를 구하거나 공유할 수 있음
- 웹으로 연결된 사람들 사이에 형성되는 정보의 흐름이 마치 거미줄 같다고하여 웹으로 이름을 붙임
통신 | 과거 | 현대 |
목적 | 의사 소통 (정보 교환, 감정 표현 등) | |
수단 | 찾아가기, 봉화 신호 | 전화, 인터넷 |
특징 | 시간과 거리의 제약이 있음 | 시간과 거리의 제약이 거의 없음 |
# 웹
1. 웹
- 웹: 인터넷을 기반으로 구현된 서비스 중 HTTP를 이용하여 정보를 공유하는 서비스
- 웹 서버(Web Server): 정보를 제공하는 주체
- 웹 클라이언트(Web Client): 정보를 받는 이용자
- HTTP: 웹상에서 서로 통신하기 위해 정해둔 일종의 규칙
(1) 웹의 발전과 웹 보안의 중요성
- 과거 웹 서비스: 단순히 정보를 보여줌
- 현재 웹 서비스: 정보를 검색하고 직접 제품을 구매할 수 있도록 변화함
- 웹의 발전: 우리의 일상을 많은 부분에서 바꿔놓았으며, 오프라인에서 이뤄지던 많은 상호작용이 현재는 디지털 형태로 변환되어 웹 서비스로 구현되고 있음
- 웹에서 처리하는 정보 자산들이 많아짐에 따라 이들을 안전하게 보관하고 처리해야 할 필요성도 함께 증가
> 웹을 통한 정보의 교환 과정에서 민감한 정보들이 유출되거나 악용되지 않도록 웹 보안의 중요성이 대두됨
(2) 웹 서비스, 프론트엔드와 백엔드
- 이전의 웹 서비스: 이용자가 요청하는 정보를 제공하기만 하는 수동적인 형태
- 현재의 웹 서비스: 이용자의 요청을 해석하고 가공하여 필요한 정보와 기능을 제공하는 능동형 서비스
ex) 구글: 이용자가 "검색어"라는 형태로 자신이 원하는 정보를 추상화해서 전달하면, 구글이 이를 해석하고 가공하여 필요한 정보를 제시
- 프론트엔드(Front-end): 이용자의 요청을 받는 부분
> 이용자에게 보여지는 부분으로, 웹 리소스(Web Resource)로 구성됨
> 페이지가 보여주고 있는 정보들은 모두 웹 리소스에 명시되어 있음
- 백엔드(Back-end): 요청을 처리하는 부분
2. 웹 리소스
- 웹 리소스: 웹에 갖춰진 정보 자산
- 웹 브라우저에 http://dreamhack.io/index.html 주소를 입력하면 dreamhack.io에 존재하는 /index.html 경로의 리소스를 가져오라는 의미
- 모든 웹 리소스는 고유의 Uniform Resource Indicator(URI)를 가지며, 이를 이용하여 식별됨
- 웹 프론트엔드를 구성하는 대표적인 웹 리소스들은 다음과 같음
▶ Hyper Text Markup Language (HTML)
▷ 웹 문서의 뼈와 살을 담당
▷ 태그와 속성을 통한 구조화된 문서 작성을 지원
▶ Cascading Sytle Sheet (CSS)
▷ 웹 문서의 생김새를 지정
▷ 웹 리소스들의 시각화 방법을 기재한 스타일 시트
▷ 글자의 색깔이나 모양, 배경 색상, 이미지의 크기나 위치 등을 CSS로 지정할 수 있음
▷ 브라우저는 이를 참고하여 웹 문서를 시각화 함
▶ JavaScript (JS)
▷ 웹 문서의 동작을 정의
▷ 이용자가 버튼을 클릭했을 때, 어떻게 반응할지, 이용자가 데이터를 입력하면 어디로 전송할지 등을 JS로 구현 가능
▷ JS는 이용자의 브라우저에서 실행되는데, 클라이언트가 실행하는 코드라고 하여 Client-Side Script라고도 부름
▶ 그 외
▷ 문서, 이미지, 동영상, 폰트 등
3. 웹 클라이언트 서버의 통신
1. (클라이언트) 이용자가 브라우저를 이용하여 웹 서버에 접속
2. (클라이언트) 브라우저는 이용자의 요청을 해석하여 HTTP 형식으로 웹 서버에 리소스를 요청
3. (서버) HTTP로 전달된 이용자의 요청을 해석
4. (서버) 해석한 이용자의 요청에 따라 적절한 동작을 함. 리소스를 요청하는 것이라면, 이를 탐색.
계좌 송금, 입금과 같은 복잡한 동작을 요구할 경우 내부적으로 필요한 연산을 처리함
5. (서버) 이용자에게 전달할 리소스를 HTTP 형식으로 이용자에게 전달
6. (클라이언트) 브라우저는 서버에게 응답받은 HTML, CSS, JS 등의 웹 리소스를 시각화하여 이용자에게 보여줌
# 마치며
- 키워드
① 통신: 정보를 전하는 것. 현대에는 전화, 인터넷 등의 통신 수단을 이용하여 과거보다 시간과 공간의 제약을 받지 않고 이뤄짐
② 웹: 인터넷이라는 통신망을 활용하여 구현된 전 지구적 정보 공간
③ 웹 클라이언트: 웹에서 정보를 요구하는 주체
④ 웹 서버: 웹에서 정보를 제공하는 주체
⑤ 웹 리소스: 웹 서버가 제공하는 정보 지원(e.g. HTML, Javascript, CSS 등)
⑥ 웹 서비스: 웹 상에서 제공되는 서비스 (e.g. SNS, 온라인 쇼핑몰 등)
'Hacking Tech > Web hacking' 카테고리의 다른 글
[Dreamhack] Mitigation: Same Origin Policy (0) | 2022.01.26 |
---|---|
[Dreamhack] Background: Cookie & Session (0) | 2022.01.24 |
[Dreamhack] Tools: Browser DevTools (0) | 2022.01.23 |
[Dreamhack] Background: Web Browser (0) | 2022.01.22 |
[Dreamhack] Background: HTTP/HTTPS (0) | 2022.01.17 |