HTTP (비 HTTPS) 사이트에 POST 요청을하고 Chrome 개발자 도구에서 요청을 검사 한 후 서버에 보내기 전에 자체 헤더를 추가 한 것을 발견했습니다.
Upgrade-Insecure-Requests: 1
에서 검색을 수행 한 후 Upgrade-Insecure-Requests
, 나는 오직 찾을 수있는 정보를 전송하는 서버에 대한 이 헤더를 :
Content-Security-Policy: upgrade-insecure-requests
이것은 관련이 있지만 내 경우 CLIENT가 Request 에서 헤더를 보내고 있기 때문에 여전히 매우 다릅니다. 내가 찾은 모든 정보는 Response 에서 관련 헤더를 보내는 서버에 관한 것 입니다.
Chrome (44.0.2403.130m) Upgrade-Insecure-Requests
이 내 요청에 추가 되는 이유는 무엇입니까?
2016-08-24 업데이트 :
이 헤더는 이후 W3C 후보 추천 으로 추가되었으며 공식적으로 인정됩니다.
이 질문을 겪고 혼란스러워하는 사람들에게는 Simon East 의 훌륭한 답변 이 잘 설명되어 있습니다.
Upgrade-Insecure-Requests: 1
헤더로 사용 HTTPS: 1
이전 W3C 작업 초안에 와 개명되었다 조용히 변화가 공식적으로 승인되기 전에 크롬으로.
(이 질문은이 헤더에 공식 문서가없고 Chrome이이 헤더를 보낸 유일한 브라우저 일 때이 전환 중에 질문되었습니다.)
답변
짧은 대답 : Content-Security-Policy: upgrade-insecure-requests
응답 헤더 와 밀접한 관련 이 있으므로 브라우저가 지원한다는 것을 나타냅니다 (사실 선호합니다).
Google 검색에 30 분이 걸렸지 만 마침내 W3 사양에 묻혔습니다.
사양의 헤더 HTTPS: 1
가 Chromium에서 구현 한 방식 이기 때문에 혼란이 생겼지 만 Chromium 은 코드가 잘못 코딩 된 (특히 WordPress 및 WooCommerce) 많은 웹 사이트를 중단 한 후 Chromium 팀이 사과했습니다.
“파손에 대해 사과드립니다. 개발 및 베타 기간 동안의 피드백을 바탕으로 영향을 과소 평가했습니다.”
— Mike West, Chrome 문제 501842
수정은로 이름을 바꾸는 것이 었으며 Upgrade-Insecure-Requests: 1
이후 사양이 일치하도록 업데이트되었습니다.
어쨌든 여기 에 W3 사양 의 설명이 있습니다 (당시 나타난대로) …
HTTPS
HTTP 요청 헤더 필드는 서버에 신호를 보내 고객의 취향을 표현 암호화 및 인증 응답을하고 있음을 성공적 업그레이드 – 불안 – 요청이 지시어를 처리 할 수 있습니다 제공하기 위해 가능한 한 원활으로 그 선호도를 만들기 위해.…
서버가 HTTP 요청의 헤더에서이 기본 설정을 발견하면 사용자를 요청중인 리소스의 안전한 보안 표시로 리디렉션해야합니다.
서버가 HTTPS 요청의 헤더에서이 기본 설정을 만나면
Strict-Transport-Security
요청의 호스트가 HSTS 안전하거나 조건부 HSTS 안전 인 경우 응답에 헤더를 포함 해야합니다 [RFC6797].
답변
이것은 모든 것을 설명합니다 :
CSP (HTTP Content-Security-Policy) 업그레이드 안전하지 않은 요청 지시문은 사용자 에이전트가 모든 사이트의 안전하지 않은 URL (HTTP를 통해 제공되는 URL)을 보안 URL (HTTPS를 통해 제공되는 URL)로 교체 한 것처럼 처리하도록 지시합니다. 이 지시문은 다시 작성해야하는 안전하지 않은 기존 URL이 많은 웹 사이트를위한 것입니다.
upgrade-unsecure-requests 지시어는 모든 콘텐츠를 혼합하기 전에 평가되며, 설정되어 있으면 후자는 사실상 무 작동입니다. 하나의 지시어 또는 다른 지시어를 설정하는 것이 좋지만 둘다는 아닙니다.
upgrade-insecure-requests 지시문은 타사 사이트의 링크를 통해 사이트를 방문하는 사용자가 최상위 탐색을 위해 HTTPS로 업그레이드 될 것을 보장하지 않으므로 HSTS (Strict-Transport-Security) 헤더를 대체하지 않습니다. 사용자가 SSL 제거 공격을받지 않도록 적절한 최대 연령으로 설정해야합니다.