본문 바로가기
파이썬 웹 프로그래밍 기본

1.웹 프로그래밍 - 1.1. 웹 서비스 이해

by 영바이트 2020. 8. 10.

웹 프로그래밍의 큰 그림을 먼저 알고 프로그래밍을 시작 하는것이 좋다. 내가 지금 무얼 왜 하고 있는지 알 수 있기 때문이다.

 

모바일 혹은 데스크탑에서 앱 또는 브라우저로 받는 모든 서비스들이 웹 서비스에 포함된다. 웹 서비스를 이해하는데 가장 도움이 되는 모델이 클라이언트(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 사이드 바에서 리소스 항목 선택)를 통해서 클라이언트와 서버 사이에 주고 받는 요청과 응답들의 헤더 내용을 볼 수도 있다.

 

<google.com에 접속했을 때 주고 받는 헤더의 내용>

 

댓글