Переопределение заголовков ответа для дебага
В Chrome 113 Dev Tools появилась, на мой взгляд, потрясающая фича, которая сильно ускорит параллельную разработку фронтенда и бэкенда в некоторых конкретных случаях.
Представьте, что у вас есть какая-то функциональность на сайте, которая зависит от HTTP-заголовков ответа сервера. Да даже представлять особо не надо, она точно есть: кэширование, куки, CORS, CSP, скачивание файлов, редиректы и разное другое. И вот в какой-то момент эту функциональность нужно доработать новыми заголовками, но на бэкенде доработка требует 2 дня разработки, тестирование и деплой, а на фронтенде — пары часов небольших правок с тестированием. Что можно сделать, чтобы не стопорить фронтенд в таком случае:
1. Сделать заглушку на бэкенде, которая топорно возвращает нужные заголовки по параметрам в URL. Плохой вариант, потому что отвлекается бэкендер, который мог бы уже фичу начать делать. И всё равно нужно ждать деплой.
2. Настроить фронтендеру что-то проксирующее, вроде Charles, научить подменять конкретные заголовки на уровне сети. Уже лучше, но джуну, который только-только освоил вёрстку и какой-нибудь фреймворк, объяснять, как сниффить трафик, кажется оверинжинирингом. К тому же не на всех корпоративных машинках можно ставить сторонние прокси.
3. Воспользоваться новой фичей Chrome Dev Tools! (как будто в телемагазине вещаю, простите)
В чём суть фичи:
- В открытых Dev Tools во вкладке
- Во вкладке
А ещё обязательно покажите эту фичу вашему QA, чтобы ему было ещё удобнееломать тестировать подобные кейсы без страданий.
https://developer.chrome.com/blog/new-in-devtools-113/#network
В Chrome 113 Dev Tools появилась, на мой взгляд, потрясающая фича, которая сильно ускорит параллельную разработку фронтенда и бэкенда в некоторых конкретных случаях.
Представьте, что у вас есть какая-то функциональность на сайте, которая зависит от HTTP-заголовков ответа сервера. Да даже представлять особо не надо, она точно есть: кэширование, куки, CORS, CSP, скачивание файлов, редиректы и разное другое. И вот в какой-то момент эту функциональность нужно доработать новыми заголовками, но на бэкенде доработка требует 2 дня разработки, тестирование и деплой, а на фронтенде — пары часов небольших правок с тестированием. Что можно сделать, чтобы не стопорить фронтенд в таком случае:
1. Сделать заглушку на бэкенде, которая топорно возвращает нужные заголовки по параметрам в URL. Плохой вариант, потому что отвлекается бэкендер, который мог бы уже фичу начать делать. И всё равно нужно ждать деплой.
2. Настроить фронтендеру что-то проксирующее, вроде Charles, научить подменять конкретные заголовки на уровне сети. Уже лучше, но джуну, который только-только освоил вёрстку и какой-нибудь фреймворк, объяснять, как сниффить трафик, кажется оверинжинирингом. К тому же не на всех корпоративных машинках можно ставить сторонние прокси.
3. Воспользоваться новой фичей Chrome Dev Tools! (как будто в телемагазине вещаю, простите)
В чём суть фичи:
- В открытых Dev Tools во вкладке
Network > Headers > Response Headers
теперь можно редактировать заголовки ответа сервера. Или добавить новые.- Во вкладке
Sources > Overrides
можно найти домен, на котором экспериментируете с заголовками, и отредактировать там файл .headers
, внутри которого можно задать переопределения не конкретному ответу, а вообще всем ответам.А ещё обязательно покажите эту фичу вашему QA, чтобы ему было ещё удобнее
https://developer.chrome.com/blog/new-in-devtools-113/#network