Что происходит после установки соединения, как обрабатывается запрос на сервере и рендерится страница?
Что проверяют
Держите ли вы в голове всю цепочку от соединения до готовой страницы и, что важнее для тестировщика, можете ли сказать, где на каждом шаге смотреть и что там ломается. Пересказ схемы без проверок засчитывают слабо.
Как отвечать
Идите по шагам и на каждом называйте инструмент:
- имя разрешается в адрес, поднимается TCP-соединение, для https поверх него TLS с проверкой сертификата и его срока;
- уходит запрос: метод, путь, заголовки
Host,Cookie,Accept,Authorization; - сервер маршрутизирует запрос обработчику, проходит слои аутентификации и ограничения частоты, ходит в базу и собирает ответ: код, заголовки, тело;
- браузер по
Content-Typeрешает, что делать с телом. Для HTML строит DOM, стили складывает в CSSOM, встреченный синхронный скрипт останавливает разбор; - из двух деревьев собирается дерево рендера, дальше расчёт геометрии, отрисовка, композиция. После этого обычно идут запросы за данными и повторная отрисовка кусков страницы.
Проверяется это вкладкой сети: коды ответов, заголовки, тайминги и время до первого байта, по которому видно, ждём мы сервер или уже разбираем ответ. Ошибки скриптов и блокировки кросс-доменных запросов ищутся в консоли.
Где спотыкаются
Считают шаг успешным по коду 200. Ответ с кодом 200 и телом ошибки внутри встречается постоянно, проверять нужно и код, и содержимое, и заголовки.
Ставят TLS не на место. Он поднимается после установки TCP-соединения и до HTTP, поэтому в перехваченном трафике видно домен, но не путь и не тело.
Все задержки списывают на сервер. Долгий ответ и долгая отрисовка различаются по таймингам: ожидание первого байта против разбора документа и выполнения скриптов, и лечатся они совершенно разными людьми.