Неожиданное поведение подсчета загрузки страниц Safari - PullRequest
1 голос
/ 20 апреля 2020

Клиент

  • Ма c ОС 10.15.3

Сервер

  • Ubuntu 18.04.4
  • Apache 2.4.29
  • PHP 7.4.5

Возьмите скрипт, назовите его /test.php. Давайте отследим, сколько фактических загрузок страницы происходит за визуальную, загруженную пользователем загрузку страницы.

# Count = 1
test.php?v=1
# Count = 2
test.php?v=1
# Count = 4 (???)
test.php?v=2
# Count = 7 (???)
test.php?v=1
# Count = 8 
test.php?v=1
# Count = 10 (???)
test.php?v=3
# Count = 11
test.php?v=3
# Count = 15 (???)
test.php?v=2
# Count = 18 (???)
test.php?v=1

В Chrome количество загрузок соответствует ожидаемому - 1, 2, 3 затем 4, 5 и др. c.

Более того, Safari ведет себя так, как ожидается - Chrome - если вы делаете это в приватном окне.

Почему Safari ведет себя так? Есть ли какой-то вклад в стек, например, из Apache или PHP?

РЕДАКТИРОВАТЬ 1

Apache журнала меньшего тестового случая. (!!!) test. php? V = 3 регистрируется, несмотря на то, что я его не умышленно запрашивал.

# Procedure
test.php?v=1
test.php?v=1
test.php?v=2
# Apache Log of above page loads with IP redacted.
REDACTED_IP - - [20/Apr/2020:11:35:26 +0000] "GET /test.php?v=1 HTTP/1.1" 200 8875 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15"
REDACTED_IP - - [20/Apr/2020:11:35:28 +0000] "GET /test.php?v=1 HTTP/1.1" 200 5141 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15"
REDACTED_IP - - [20/Apr/2020:11:35:42 +0000] "GET /test.php?v=3 HTTP/1.1" 200 8876 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15"
REDACTED_IP - - [20/Apr/2020:11:35:42 +0000] "GET /test.php?v=2 HTTP/1.1" 200 5141 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15"
REDACTED_IP - - [20/Apr/2020:11:35:43 +0000] "GET /test.php?v=2 HTTP/1.1" 200 5705 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15"

Редактировать 2

Вот урезанное содержание теста. php. Требуются Redis и PHP -Redis, так как я использую это для быстрой визуализации. Конечно, вместо этого вы можете использовать Apache logs, если вы используете sh, или любой другой способ быстро увидеть количество выполнений скрипта.

<?php 
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

echo $redis->incr('counter');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...