2013-03-08 3 views
2

Chrome에서 이상한 동작을 확인하고 appcache 또는 Chrome을 사용할 때 예상되는 동작인지 확실하지 않습니다.크롬에서 appcache 네트워크의 SSL 경로가 제한됩니다.

RestAPI가 지원하는 단일 페이지 응용 프로그램으로, RestAPI가 HTTP에서 요청 될 때 제대로 작동하지만 URL을 HTTPS 버전으로 변경하자마자 작동을 멈 춥니 다. Chrome 콘솔에서 작동을 중지 한 이유에 대한 정보가 많지 않습니다.

우리는 appcache 파일의 NETWORK 섹션으로 범위를 좁혔습니다. 우리가 작동하도록 할 수있는 유일한 방법은 원하지 않는 와일드 카드 *을 사용하는 것입니다. appcache의 전체 지점, 그리고 보안을 줄인다.

(다양한 관련 위치에서 와일드 카드와 조합하여) API URL을 모두 시도했지만 어떤 것도 작동하지 않는 것으로 나타났습니다 (심지어 https://*도 요청을 허용하지 않음).

경험이있는 사람이라면 어떤 일이 벌어지고 있는지 알 수 있습니까?

감사

+0

당신이 매니페스트 파일을 게시 할 수 없습니다 :

나는 시도하고 앱 캐시로드 페이지와 자원이 방법을 설명하기 위해이 흐름도를 그린? HTTPS를 사용하는 경우 매니페스트 및이를 참조하는 페이지를 포함하여 매니페스트 HTTPS의 모든 항목이 있습니까? 그렇지 않은 경우 HTTPS를 사용하는 대상과 사용하지 않는 대상은 무엇입니까? –

+0

@ JaffaTheCake는 매니 페스트 파일 (실제로 전체 앱)에서 HTTPS가 유일한 도메인이며, 다른 도메인에있는 나머지 API이며, 앱의 다른 모든 리소스가 HTTP 아래에 요청 된 앱의 도메인에 있습니다. – Psytronic

답변

6

설명의 비트 (내 의견을 참조)이 필요하지만, 그 사이에 :

매니페스트의 NETWORK 행동에 정말이 사양에 따라, "의 시험을 온라인 응용 프로그램과 오프라인 응용 프로그램의 차이를 줄임으로써 "오프라인 응용 프로그램을보다 간단하게"사용할 수 있습니다. 실제로, 그것은 단지 또 다른 잡기를 추가합니다.

기본적으로 매니페스트에 명시 적으로 없거나 (매니페스트 파일에 나열되어 있음) 암시 적으로 캐시의 일부 (매니페스트를 가리키는 방문 페이지) 또는 FALLBACK 접두어로 덮여있는 항목은 모두 실패합니다. URL이 NETWORK 섹션에 나열되어 있지 않거나 NETWORK 섹션에 *이 표시되지 않는 한 온라인 상태 일지라도로드하십시오.

와일드 카드는 NETWORK 섹션에 특별한 의미가 없습니다. http://whatever.com/*으로 지정하면 별표는 URL의 유효한 문자이므로 해당 URL에 대한 요청을 허용합니다. 유일한 특별한 경우는 하나의 *이며 이는 "페이지가 캐시에없는 리소스에 대해 네트워크 요청을하도록 허용합니다"를 의미합니다.

기본적으로 *NETWORK에서 사용하는 것은 보안 상 위험하지 않습니다. 사실 내가 원하는 모든 기능을 제공합니다. 내가 작성한 모든 AppCache 사이트에서 사용합니다.

Appcache flow chart

+0

감사합니다. 흐름도. NETWORK가 나를 혼란스럽게 만들었다 고 말하고 싶었습니다. 나는'URL in NETWORK'이란 URL이 원격으로 이용 가능한지 아닌지 물어 보는 것을 의미했습니다. 이제는 매니페스트 파일의'NETWORK' 필드를 의미한다는 것을 알고 있습니다. – batman