트래픽을 감소하기 위해 개발자가 어떻게 했을지를 물어보는 문제.

메인화면에서 채팅을 치는 것을 Fiddler로 잡아보니,

  1. 주기적으로 패킷을 보내고, chatlog.php?t=1

  2. 채팅을 치면, chatlog.php?data=123123

  3. 새로운 메시지가 있을 때에는 다음과 같은 패킷을 보내는 것을 확인하였다.

/chatview.php?t=1&ni=58971

  1. 패킷의 response는 정수값인데 db에 저장된 메시지의 개수를 response로 주는 것으로 추측된다. 1) 패킷을 통해 서버에 저장된 메시지의 개수를 계속 확인하다가 그 값이 증가되면, 3) 패킷을 통해 chatview.php 에 메시지를 불러오기 위한 접속을 하는 것이다.

그 과정에서도 서버의 부하를 줄이기 위한 인자가 ni 이고, 이 값은 DB에 저장된 index와 유사한 기능을 한다.

  1. 패킷을 통해 동작할 것으로 예상되는 DB 쿼리는 다음과 같다.