웹크롤링 - 웹 기반 기술 이해

1. 웹 기반 기술 이해

1.1 프로토콜: 네트워크 통신 규약

  • 인터넷 프로토콜: TCP 및 IP 프로토콜이 핵심, TCP/IP 프로토콜
  • 이더넷: 네트워크 모듈
  • IP 프로토콜: 컴퓨터 주소를 찾는 프로토콜
  • TCP 프로토콜: 컴퓨터간 신뢰성 있는 데이터 전송을 지원하는 프로토콜

1.2 웹 전체 시나리오

  1. 사용자는 브라우저를 사용하여서 www.funcoding.xyz 같은 URL 입력을 통해서 웹페이지를 요청한다.
  2. 사용자의 요청은 TCP 패킷으로 만들어지게 된다.
  3. TCP 패킷IP 패킷으로 다시 만들어 지고 IP 패킷에는 자신의 IP 주소와, 도착해야될 상대방의 IP 주소 정보가 넣어진다.
  4. IP 패킷이더넷 카드로 보내어져서 Internet 으로 전송된다.
  5. 이더넷 패킷은 도착지의 컴퓨터 이더넷 카드로 전달된다.

  6. 이더넷 카드는 해당 데이터를 IP 프로토콜 계층에 보낸다.
  7. IP 프로토콜 계층은 다시 TCP 프로토콜 계층으로 데이터를 보낸다.
  8. TCP 프로토콜 계층은 누락된 데이터가 없는지 확인하고, 수신받은 데이터를 재조합핸 후 이 데이터를 Application Layer에 보낸다.
  9. Application Layer에서 해당 데이터가 HTTP 프로토콜로 작성되어 있으면, HTTP 프로토콜 규칙에 준하여, 사용자가 요청한 웹페이지를 웹서버가 제공한다.
  10. 웹서버가 제공한 웹페이지는 다시 TCP 프로토콜 계층으로 전송되어, TCP 패킷으로 바뀌고, 결국 IP 패킷으로 만들어지고, 이더넷 카드에 보내진다.

  11. 웹페이지는 요청된 컴퓨터에 수신되고, 이더넷 카드, IP 패킷, TCP 패킷, HTTP 패킷으로 분석되어, 웹브라우저에 웹페이지가 전달된다.
  12. 웹브라우저는 웹페이지 파일에 있는 HTML,CSS,javascript등을 파싱(parsing)하여, 렌더링 작업을 거쳐 화면에 뿌려준다.

참고1(TCP/IP 프로토콜): https://www.joinc.co.kr/w/Site/Network_Programing/Documents/IntroTCPIP
참고2(렌더링이란): http://wit.nts-corp.com/2014/03/18/1116

1.3 HTTP 프로토콜: WWW(웹)상에서 문서 전송을 위한 프로토콜