Google 크롬 관리자 ( F12)를 사용하여 다운로드 한 리소스를 볼 때 이상한주의 메시지가 나타났습니다 .
주의 임시 헤더가 표시됩니다
네트워크 패널과 관련이있을 수 있습니다 . 임시 요청 헤더에주의를 기울 이십시오. 그러나 완전히 이해하지 못했습니다. 관련 질문은 ChromeHttp 요청 뿐만 아니라 Chrome 차단 요청 도 로드 할 수 없습니다. 언로드 된 리소스는주의를 나타냅니다. 임시 헤더가 표시 됩니다.
첫 번째 질문 과 마찬가지로 내 리소스는 차단되었지만 나중에 동일한 리소스를 자동으로로드했습니다. 두 번째 질문 과 달리 , 나는 아무것도 고치고 싶지 않다. 이 메시지의 의미와 수신 이유를 알고 싶습니다.
답변
확장 프로그램 (필자의 경우 AdBlock)에 의해 리소스가 차단되었을 수 있습니다.
해당 리소스 검색 요청이 작성되지 않았으므로 표시되는 헤더가 실제가 아니기 때문에 메시지가 표시됩니다. 언급 한 문제에서 설명한 것처럼 서버가 응답하면 실제 헤더가 업데이트되지만 요청이 차단되면 응답이 없습니다.
리소스를 차단하고있는 확장 프로그램에 대해 찾은 방법은 Chrome의 net-internals 도구를 사용하는 것입니다.
최신 버전의 크롬
- 입력
chrome://net-export/
주소 표시 줄에 입력하고 Enter 키를 누르십시오. - 녹음을 시작하십시오. 그리고 녹음 파일을 로컬에 저장하십시오.
- 문제가있는 페이지를여십시오.
- 인터넷 내부로 돌아 가기
- 여기에서 기록 된 로그 파일을 볼 수 있습니다 https://netlog-viewer.appspot.com/#import
- 이벤트 (###)를 클릭 하고 텍스트 필드를 사용하여 리소스와 관련된 이벤트를 찾으십시오 (URL의 일부 사용).
- 마지막으로 이벤트를 클릭하고 표시된 정보가 무언가를 알려주는지 확인하십시오.
이전 버전의 크롬
- 입력
chrome://net-internals
주소 표시 줄에 입력하고 Enter 키를 누르십시오. - 문제가있는 페이지를여십시오.
- net-internals로 돌아가서 events (###)를 클릭 하고 텍스트 필드를 사용하여 자원과 관련된 이벤트를 찾으십시오 (URL의 일부 사용).
- 마지막으로 이벤트를 클릭하고 표시된 정보가 무언가를 알려주는지 확인하십시오.
답변
실제 요청이 전송되지 않을 때 발생한다고 생각합니다. 일반적으로 캐시 된 리소스를로드 할 때 발생합니다.
답변
크롬 v72 +의 경우 나를 위해 해결 한 것은 이것뿐입니다.
chrome://flags/
이 3 플래그 로 이동하여 비활성화하십시오.
- 사이트 격리 비활성화
- 네트워크 서비스 활성화
- 네트워크 서비스를 프로세스 내에서 실행
또는 명령 줄에서 수행 할 수 있습니다.
chrome --disable-site-isolation-trials --disable-features=NetworkService,NetworkServiceInProcess
왜 이런 일이?
Google은 Chromium 엔진을 모듈 식 구조로 리팩토링하고 있으며, 다른 서비스는 독립형 모듈과 프로세스로 분리됩니다. 그들은이 과정을 서비스 화라고 부릅니다. 네트워크 서비스가 첫 번째 단계이며 Ui 서비스, ID 서비스 및 장치 서비스가 출시됩니다. Google은 Chromium 프로젝트 사이트 에서 공식 정보를 제공합니다 .
그것을 바꾸는 것이 위험합니까?
예를 들어 네트워킹이 있습니다. 일단 네트워크 서비스가 제공되면 안정성 / 보안을 개선하기 위해 프로세스를 벗어나 거나 리소스가 제한되어있는 경우 인 프로세스를 실행하도록 선택할 수 있습니다 . 출처
답변
이 문제가 발생하여 특정 원인을 식별 할 수있었습니다.이 원인은 답변이나 질문에서 언급되지 않았습니다.
SSL에서 전체 js 스택, 각도 프런트 엔드 및 노드 백 엔드를 실행 중이며 API는 포트 8081에서 실행되는 다른 도메인에 있으므로 API에서 세션 쿠키를 삭제하면서 CORS 요청 및 withcredentials를 수행하고 있습니다.
내 시나리오는 다음과 같습니다. POST 요청, 포트 8081에 대한 자격 증명을 사용하여 관리자에서 “주의 : 임시 헤더가 표시되었습니다”라는 메시지가 표시되고 요청이 모두 함께 차단되었습니다.
내 솔루션은 일반적인 SSL 포트 443에서 노드 SSL 포트 8081로 요청을 프록시로 전달하도록 아파치를 설정하는 것입니다 (노드는 prod에서 루트로 실행할 수 없으므로 더 높은 포트에 있어야합니다). 따라서 Chrome은 기존의 SSL 포트에 대한 SSL 요청을 좋아하지 않지만 오류 메시지가 더 구체적 일 수 있습니다.
답변
이는 사이트 격리 라는 새로운 기능으로 인해 발생할 수 있습니다 (교차 출처 요청에만 해당).
이 페이지에는 문제와 해결 방법이 자세히 설명되어 있습니다. chrome://flags/#site-isolation-trial-opt-out
크롬 으로 이동하여 해당 설정을 “Opt-out”으로 변경하고 크롬을 다시로드하는 것입니다.
그것은 A의 알려진 문제 . 그러나 그 페이지는 크롬 68에서 수정되었다고 말하지만 크롬 68을 실행 중이며 여전히 문제가 있습니다.
답변
HTTP / 2 푸시 자원 은 Provisional headers are shown
@wvega가 위의 답변에 게시 한 것과 동일한 이론에 대해 인스펙터에서 생성 됩니다 .
예 : 서버가 리소스를 클라이언트에 푸시 하기 때문에 (클라이언트가 요청하기 전에 ) 브라우저에 리소스가 캐시되므로 클라이언트는 요청을하지 않거나 필요로하지 않습니다. 그래서 …
… 실제 헤더는 서버가 응답 할 때 업데이트되지만 요청이 차단 된 경우 응답이 없습니다.
답변
내 상황은 교차 출처 와 관련이 있습니다.
상황 : 브라우저는 또는 OPTIONS
같은 실제 요청을 보내기 전에 요청을 보냅니다 . 백엔드 개발자는 요청 을 처리하는 것을 잊어 버려서 서비스 코드를 통과하게하여 처리 시간이 너무 길어집니다. 초기화에 쓴 시간 초과 설정보다 긴 시간 은 5000 밀리 초입니다. 따라서 실제 요청을 보낼 수 없어서 문제 가 발생했습니다 . 솔루션 : 요청에 관해서는 백엔드 API가 결과를 반환하므로 요청이 더 빨라지고 시간 초과 전에 실제 요청을 보낼 수 있습니다.GET
POST
OPTIONS
axios
provisional headers are shown
OPTIONS