Получение разных заголовков ответов при доступе к сайту через модуль браузера и узла http - PullRequest
0 голосов
/ 17 января 2020

Я пишу функцию на моем сервере узлов, которая определяет, может ли определенный URL отображаться внутри i-кадра, проверяя поле x-frame-options в заголовке.

Хотя это работает правильно, для на некоторых сайтах я получаю заголовок без этого поля при доступе через модуль http. Однако заголовок для этих сайтов правильно включает эту опцию при открытии в браузере.

Например: при доступе к artstation.com :

In Node.js заголовки ответа:

{"date":"Fri, 17 Jan 2020 03:37:06 GMT",
"connection":"close","cache-control":"private, 
max-age=0, no-store, no-cache, must-revalidate, 
post-check=0, pre-check=0","expires":"Thu, 01 Jan 1970 00:00:01 GMT",
"location":"https://www.artstation.com/",
"x-content-type-options":"nosniff",
"server":"cloudflare",
"cf-ray":"556549e5fbeaefd8-EWR"}

В Chrome браузере заголовки ответа:

cache-control: max-age=0, private, must-revalidate
cf-cache-status: DYNAMIC
cf-ray: 5565511b5d3fe6d0-EWR
content-encoding: gzip
content-type: text/html; charset=utf-8
date: Fri, 17 Jan 2020 03:42:01 GMT
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
server: cloudflare
set-cookie: _ArtStation_session=TEFNMnlrR0UrK1A0UTgzM2FqOGJhMXZkU2dhYitxVW83ajJhMXo0SzJ4T0tENGhwYVppVTZpL0lOSHZ1M0pmRERRaUZ5Z0FTMWRuWTRsTm95VHQwUlhlcEdXN1JCSGtsL0pPdHNtSFF4R3ZScjhUOHFDOWkrSEg3RjNoemZ5aFVWMGJweXFwQU56Q3dOV25icXNNNGtjK3RwbDB4Tml0cjZWSHRWZ1dMK0FSajl2OHZoazFrckVaSTcyRkxFRHAzbHQrbTlpUnZudmRoVXNKYkF5TmlyUT09LS1rVkhhWG5OZ3ZOK0hUckdhY0pRbDJ3PT0%3D--083e61c9e5af420688bc4d309212aafb2de70ebb; domain=.artstation.com; path=/; expires=Fri, 17 Jan 2020 05:12:01 -0000; secure; HttpOnly
status: 200
status: 200 OK
strict-transport-security: max-age=0
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-powered-by: Phusion Passenger Enterprise
x-request-id: 1e36371b-eb7c-419e-97ae-6c9ac901c240
x-runtime: 0.040934
x-xss-protection: 1; mode=block

Как вы можете видеть, x-frame-options: SAMEORIGIN присутствует в заголовках ответа в Chrome, но не в узле.

Почему заголовки ответа различаются?

Также обратите внимание, что это поведение относится не ко всем сайтам. При доступе к google.com заголовки совпадают в браузере и узле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...