본문 바로가기
Network TroubleShooting/트러블 슈팅 썰

HTTP를 Half Close로?

by Hell0 IT 2022. 5. 16.

HTTP Half Close 통신 썰

 

○ 발단 그리고 현상

      App에서 업로드가 자꾸 실패한단다.

      네트워크/클라이언트/서버 환경 문제인지 검증해보자.

○ Divide and Conquer (초반)

      Divide and Conquer 차례다.

      방화벽, 있긴한데 차단은 없다.

      그럼 패킷까서 나눠야지

 패킷에서 특이점

      잘 될 때와 안 될 때를 비교해보면... 특이점이 보였다.

잘 될 때

 

Client -> Server POST /command1
Server -> Client 200 OK
Client -> Server POST /command2
Server -> Client 200 OK
 

 

          안 될 떄는 말이지..

Client -> Server POST /command1
Server -> Client 200 OK
Server -> Client FIN,ACK
Client -> Server POST /command2
안 될 때

 

      아니.... http 통신에서 FIN,ACK이 왔는데 POST를 한다고?

      Response는 어디서 받을껀데?

      그리고 그 전에!!!

      서버는 왜 FIN,ACK을 보내는데?

 

○ Divide and Conquer (후반)

      서버에서 FIN,ACK를 보내기에 Client가 자료를 보내도 Response Code를 받을 수가 없다.

      그러니 WAS 로그에 남지않는 요상한 결과가 나온다.

 

 누구의 문제인가?

      네트워크는 아님.

댓글