Ответ 1
Один из способов сделать это - через файлы cookie и идентификаторы. Во-первых, вы зашли на сайт и провели там сеанс. Это управляется с помощью файлов cookie; всякий раз, когда вы посещаете страницу на сайте, ваш браузер отправляет файл cookie, который обычно содержит какой-то идентификатор. Таким образом, сервер может идентифицировать любой запрос, исходящий от вас, действительно от вас. Итак, в этом случае как исходная вкладка, так и ваша новая вкладка отправят тот же файл cookie.
Во-вторых, он может также добавить другой, другой идентификатор (назовите его идентификатор страницы), любой ссылке или форме, которые вы отправляете на сайт. Таким образом, форма на странице может содержать идентификатор 1234, и любые ссылки также будут содержать этот идентификатор. Каждая новая страница, которую вы посещаете, может содержать новый идентификатор. Поэтому в любой момент сайт знает, что следующий запрос из вашего браузера (указанный куки файлами) должен также содержать этот другой идентификатор. Если вы перемещаетесь по сайту обычным способом, нажимая на ссылки, отправляя формы, это будет правдой, и все будет хорошо.
Случаи, когда ваш следующий запрос НЕ отправил ожидаемый, второй id:
- вы нажали кнопку "Назад" (вы отправляете старый идентификатор страницы)
- вы открываете новую вкладку (это зависит от браузера, но если она открывает на той же странице, на которой вы уже находитесь на исходной вкладке, она будет отправлять текущую страницу id, а не идентификатор следующей страницы, который ожидает сервер)
В любом случае вы отправляете запрос с идентификатором страницы, который сервер не ожидает, и он может сделать наилучшее предположение относительно того, что вы сделали.