웹 프로그래밍의 큰 그림을 먼저 알고 프로그래밍을 시작 하는것이 좋다. 내가 지금 무얼 왜 하고 있는지 알 수 있기 때문이다.
모바일 혹은 데스크탑에서 앱 또는 브라우저로 받는 모든 서비스들이 웹 서비스에 포함된다. 웹 서비스를 이해하는데 가장 도움이 되는 모델이 클라이언트(client)-서버(server) 모델(=서버-클라이언트 모델)이다.
예를 들면, 클라이언트는 사용자의 휴대전화, 데스크탑 등이고 서버는 지금 이 블로그 정보를 보관하고 있다가 사용자에게 보여주는 티스토리 서버(=컴퓨터)라고 할 수 있다. 웹 프로그래밍을 한다는 것은 기본적으로 서버에 정보를 저장하고 저장된 정보를 사용자에게 보여주는 기능을 제공하는 프로그램을 만드는 작업이다. 그림의 요청과 응답의 예를 좀 더 살펴보면 아래와 같다.
요청(request) | 응답(response) |
로그인 | 로그인 처리 |
상품 리스트 | 상품 리스트 페이지 |
상품 배송정보 | 구매 상품 상세 페이지 |
어차피 프로그래밍을 할 분들이 독자들이기 때문에 좀 더 기술적으로 살펴보자. 여기 아래 내용들은 이해가 가지 않는다면 이런 내용이 있구나 정도로 이해해도 좋다.
웹(web) 상에서 요청과 응답은 HTTP(Hyper-Text Transfer Protocol)라는 약속된 형식으로 주고 받는다. 웹 브라우저 주소창에 입력하는 'http://'의 의미가 바로 HTTP 규약(프로토콜)을 이용하여 데이터를 주고 받겠다는 뜻이다. 요즘은 대부분 'https://'로 시작하는데 이는 암호화된 http 규약을 의미한다.
HTTP 요청과 응답을 합해서 HTTP 메지지라고 하며 각각의 메시지는 헤더(header)와 바디(body)로 구성된다. 아래는 헤더와 바디에 들어가는 내용들이다.
◆ 헤더(header)
언어(영어, 한국어 등), 인코딩(encoding: 메시지 내용의 표현 방식) 등의 메시지 내용의 속성들
◆ 바디(body)
사용자가 원하는 메시지 내용. 데이터
웹 브라우저의 디버그 모드(Chrome 브라우저의 경우 F12 키 클릭 → Network 탭 → 구분에서 All 선택 → Name 사이드 바에서 리소스 항목 선택)를 통해서 클라이언트와 서버 사이에 주고 받는 요청과 응답들의 헤더 내용을 볼 수도 있다.
■
'파이썬 웹 프로그래밍 기본' 카테고리의 다른 글
3. 웹 프로그램 동작 원리 - 3.2. Flask 예제 분석 (0) | 2020.08.15 |
---|---|
3. 웹 프로그램 동작 원리 - 3.1. 예제: Hello Flask (0) | 2020.08.14 |
2. 프로그래밍 환경 - 2.2. 프로젝트 생성 (0) | 2020.08.13 |
2. 프로그래밍 환경 - 2.1. Pycharm (0) | 2020.08.12 |
1. 웹 프로그래밍 - 1.2. Flask 소개 (0) | 2020.08.11 |
댓글