[Web Scraping 기초] HTTP
1) 인터넷과 웹
① 컴퓨터
- 컴퓨터가 발명된 후 사용자들은 문서작성이나 연산 작업 등을 컴퓨터에 위임하였다
- 컴퓨터를 활용해 업무를 하는 사람들이 늘어나면서 서로의 정보를 교환할 필요가 있었다
② 네트워크
- 컴퓨터를 통한 상호간 정보 공유의 필요성을 해결하고자 서로의 컴퓨터를 연결하여 정보를 교환할 수 있는
네트워크(Network)가 탄생하였다
- 하지만, 지금처럼 컴퓨터 이용자가 기하급수적으로 증가하면서 더 많은 컴퓨터와 연결할 필요가 있었다
- 누구나 컴퓨터를 갖고 있는 시대에 이전 보다 더 많은 사람들과 정보를 공유하고자 네트워크를 형성하였고
이러한 수많은 네트워크를 묶어 근거리 지역 네트워크(Local Area Network, LAN)이 탄생하였다
③ 인터넷, WWW
- 이제 전 세계적으로 LAN을 이용하면서 범지구적으로 연결된 네트워크 인터넷(internet)이 탄생하였고,
이 인터넷 상에서 정보를 교환할 수 있도록 만든 시스템이 WWW(World Wide Web)이다
2) 웹에서 정보 주고받기
- 클라이언트(Client) : 정보를 요청하는 컴퓨터 / 서버(Server) : 정보를 제공하는 컴퓨터
- 웹에서 정보를 주고받는 것은 신발가게에서 손님과 점원간 대화를 나누는 것과 똑같다
1. 클라이언트가 서버에게 정보를 요청 (ex : 클라이언트가 서버에게 tistory 정보 요청)
2. 요청에 대해서 서버가 작업을 수행 (ex : 서버가 클라이언트의 요청 확인)
3. 수행한 작업의 결과를 클라이언트에게 응답 (ex : 클라이언트의 요청 대로 서버가 클라언트에게 tistory 정보 요청)
- 위와같이 클라이언트와 서버간 소통하는 것을 http라고 한다
3) HTTP의 구조
- HTTP(Hyper Text Transfer Protocol) : 웹 상에서 정보를 주고받기 위한 약속이다
(Transfer : 옮기다, 이동.., Protocol : 규약)
- 클라이언트에서 서버로 정보를 요청하는 것을 HTTP 요청 (Request)라고 한다
- 요청된 정보에 대해 서버가 클라이언트에게 응답하는 것을 HTTP 응답(Response)라고 한다.
- HTTP도 요청/응답에 대한 정보를 담은 Head(보내는 사람, 받는 사람..)와 내용물인 Body(내용물)로 나뉜다
- 클라이언트가 서버에게 행위, 정보 등의 요청 정보를 서버에게 주면
- 서버가 요청 정보 확인에 관한 정보와 함께 서버에서 요청한 정보를 클라이언트에게 전달한다
- 이때, 서버는 404, 503 등 상황에 따라 다른 시그널을 클라이언트에게 전달할 수 있다