HTTP(S) 프로토콜로 통신하는, 클라이언트와 서버를 개발하는 것
ex) 장고와 같은 웹 프레임워크를 사용하여 웹 서버를 개발하는 것
즉, 웹 클라이언트가 요청하고 웹 서버가 응답하는 클라이언트-서버 프로그램이 동작하는 것
웹 브라우저 이외에도 웹 서버에 요청을 보내는 웹 클라이언트는 다양하다
리눅스 curl 명령은 HTTP/HTTPS 등 여러 가지의 프로토콜을 사용하여 데이터를 송수신할 수 있는 명령
$ curl http://www.exmple.com
curl 명령은 인자로 넘어온 URL로 HTTP 요청을 보내는 웹 크라리언트의 역할을 수행하고 이 요청을 받은 도메인의 웹 서버는 그 결과를 응답해준다.
리눅스의 telnet 프로그램을 사용하여 HTTP 요청
telnet www.example.com 80
telnet 명령은 터미널 창에서 HTTP 프로토콜의 요청 메시지 규격에 정의된 규칙에 따라 HTTP 요청을 웹 서버에 전송한다.
파이썬으로 웹 클라이언트 만들어서 요청
example.py
import urllib.request
print(urllib.request.urlopen("http://www.example.com")
.read().decode('utf-8'))
작성한 example.py 프로그래임이 웹 클라이언트가 된다. 파이썬 라이브러리를 이용해 웹 서버에 HTTP 요청을 보낸다.
출처: Django로 배우는 파이썬 웹 프로그래밍(기초) - 김석훈님