Что ж, при рукопожатии клиент получает только один пакет от сервера: SEQ = 0 и ACK = 1. С этой информацией сервер сообщает клиенту: «Я жду пакета с SEQ = 1 сейчас». Вы правильно поняли.
Теперь в последней части рукопожатия клиент отправляет SEQ = 1 и ACK = 1, что в основном означает то же самое, что и с сервера: «Я жду вашего пакета с SEQ = 1 сейчас»
Но: после TCP-рукопожатия клиент, как правило, не будет ждать, пока этот пакет будет подтвержден, а скорее отправит уже первые пакеты данных (фактически, данные могут уже содержаться в последнем пакете рукопожатия - я предполагаю, это случай в вашем примере, потому что запрос HTTP имеет тот же SEQ, что и последний пакет рукопожатия). Таким образом, любой следующий пакет снова имеет ACK = 1. Но почему? Он снова говорит: «Я жду от вас пакета с SEQ = 1». И это полностью имеет смысл: последний пакет, полученный клиентом от сервера, имел SEQ = 0 (при рукопожатии). Также имейте в виду, что и клиент, и сервер имеют независимые SEQ. Это означает, что клиент может отправить 100 пакетов. Пока сервер не отправил один, клиент все еще будет ожидать ACK = 1, потому что последний пакет, который он получил от сервера, SEQ = 0
Другое Править:
Чтобы действительно понять, что происходит, вы можете выбрать пример с разными начальными SEQ (я уже писал, SEQ сервера и клиента независимы):
Client -> SYN, SEQ=100
Client <- SYN, ACK, SEQ=700, ACK=101 <- Server
Client -> ACK = 701, SEQ=101 [50 Bytes of data]
Client -> ACK = 701 [Again, didn't receive sth from server yet], SEQ = 151