#python #networking #tcp #network-programming #python-requests
#python #сеть #tcp #сетевое программирование #python-запросы
Вопрос:
Что, если я отправлю запрос GET / POST и получу тайм-аут подключения (не тайм-аут чтения) и повторю запрос после?
Будет ли старый запрос отменен также на сервере или, возможно, он все же поступит на сервер позже и будет выполнен на сервере?
Также, если мы не сталкиваемся с таймаутом подключения, но для получения ответа требуется больше времени, это должно означать, что запрос прибыл на сервер, но, вероятно, все еще выполняется на сервере, верно? Итак, мы должны дождаться получения ответа, поскольку мы точно установили соединение?
Заранее благодарю вас!
Комментарии:
1. Из-за того, как работает TCP, если вы получаете тайм-аут соединения , сервер даже не получил ваш запрос.
2. @Someprogrammerdude итак, если истечет время ожидания в моем скрипте, старый запрос будет «отменен» и его больше не будут пытаться отправить на сервер?
3. Если время ожидания истекло, то сетевой стек уже предпринял бы несколько попыток, чтобы получить ответ с другого конца. TCP надежен , если вы получаете ошибку, то это почти всегда фатально (для соединения), и вам следует отключиться и попробовать подключиться снова.
4. @Someprogrammerdude также совпадает, если пользователь установил тайм-аут? Например, через 4 секунды (задается пользователем в библиотеке запросов) время ожидания соединения истекло, было бы безопасно затем отправить запрос снова, не делая подобных повторяющихся запросов?
5. Если тайм-аут — это не тайм-аут TCP, а что-то реализованное на более высоком уровне, то нет, это не одно и то же.