Такі переваги можна висловити за допомогою записів SRV. На жаль, вони не підтримуються для HTTP. Тож вам залишається ситуація, коли клієнт один робить вибір між IPv4 та IPv6.
Багато клієнтів використовують час зворотного переходу SYN + SYN-ACK, щоб вирішити, який із двох використовувати. Таким чином, уповільнюючи відправлення пакету SYN-ACK на IPv6, ви можете змусити більшість клієнтів віддавати перевагу IPv4. Але навмисне уповільнення вашого сайту - жахливий підхід.
Натомість я б зробив крок назад і подивився на проблему. Вам потрібні кращі геолокаційні дані. Щоразу, коли відвідувач отримує доступ до вашого сайту, ви негайно знайомитесь з однією з їх IP-адрес. Чи буде це адреса IPv4 або IPv6, залежить від того, який їх браузер віддасть перевагу спілкуванню з вашим сервером.
Всередині сторінки ви можете скористатись запитом AJAX, щоб дізнатись ще одну IP-адресу. Для клієнтів, які використовують IPv4, надішліть запит AJAX на домен, призначений лише для IPv6, а для клієнтів, які використовують IPv6, надішліть запит AJAX на домен, призначений лише для IPv4.
Як тільки запит AJAX надходить на сервер, ви знаєте як IPv4, так і IPv6 адреси користувача. Знання цього листування дозволить вам зробити геолокацію краще, ніж ви могли, знаючи лише одне з двох.
Ви часто бачите випадки, коли запит AJAX ніколи не надходить на сервер. Для тих користувачів вам доведеться зробити геолокацію, як це найкраще зробити на основі лише однієї IP-адреси. Але поки відповідь на цей запит AJAX не використовується ні для чого на стороні клієнта, користувач навіть не помітить тих, що не відповідають запитам AJAX. Таким чином, запити AJAX не спричинять жодного сприйнятого уповільнення чи нерівномірної поведінки.