2011-11-15 3 views
6

좋아, 그것은이 몇 브라우저에서 지원 될 때 아직 큰 걱정되지 않도록 :HTML5 프리 페치 사용의 위험성이 있습니까?

  • 모질라 파이어 폭스 : 지원은
  • 구글 크롬 (대체 구문을 사용하여) 버전 13부터 지원
  • 사파리 : 현재 지원되지 않는 인터넷
  • Explorer를 : 현재 그러나

지원되지 프리 페치 나 트합니다. 사용자가 귀하의 페이지에 착륙하여 다른 사이트로 이동하면 귀하의 프리 페치 링크를 방문한 사용자의 대역폭에 대해 비용을 지불 했습니까?

개발자가 페이지의 모든 링크를 프리 페치 할 위험이 없으므로 사용자가 느리게 웹 사이트를 사용할 수 있습니까?

분석을 변경할 수있는 것처럼 보입니다. 사람들이 프리 페치를 통해 페이지 뷰를 사용자에게 강제로 표시 할 것인가?

보안, 어떤 페이지가 프리 페치되고 있는지 알 수 없습니다. 악성 파일을 미리 가져올 수 있습니까?

제한된 사용량을 가진 모바일 사용자의 경우이 모든 프리 페치가 고통 스럽습니까?

답변

8

나는 주제에 대한 전문가 나 자신을 호출 할 수 없습니다, 그러나 나는 이러한 관찰을 할 수 있습니다 :

가 도움이 될 것으로 알려져 경우에만 프리 페치가 고려되어야한다
  1. . 모든 것에 대해 프리 페치를 사용하면 어리석은 일입니다. 기본적으로 서버 부하와 사용자 경험의 균형입니다.

  2. HTML5 프리 페치 사양을 조사하지는 않았지만 "이 요청은 프리 페칭의 일부로 수행되고 있습니다"라는 헤더가 지정되어있어 분석 문제를 해결할 수 있다고 생각합니다. 즉 "프리 페치 인 경우 애널리틱스 통계에 포함하지 않습니다."

  3. 보안 측면에서 볼 때 Ajax와 동일한 교차 도메인 규칙을 따르는 것으로 예상됩니다. 이렇게하면 XSS가 문제가되는 모든 문제를 완화 할 수 있습니다.

  4. HTML5 프리 페치를 지원하는 모바일 브라우저는 Wi-Fi를 사용할 때 켜고, 비싸거나 느린 형태의 네트워크 연결을 사용할 때 꺼야합니다. 예 : 2G/3G.

위의 내용 중 일부는 보증 할 수 없지만 (모든 기술과 마찬가지로) 모범 사례입니다. Cache-Control을 사용하여 사이트의 모든 페이지가 1 년 동안 강제로 캐시되지 않도록하십시오. 브라우저가 크로스 도메인 Ajax 요청을 만족시키기를 바라지 않는다. 다행히도 동일한 고려 사항이 선점을 위해 취해지기를 바란다.

+0

감사합니다. 요점은 여전히 ​​저를 상당히 트위터로 만듭니다. 나는 과용을 확실히 볼 수있다 : ( – DBUK

+1

브라우저가 당신이 사이트의 프리 페치 코드가 규정 한 것보다 우선하는 정책을 지정할 수있게하면 놀라지 않을 것이다 . – Polynomial

+2

# 2를 확인하려면 : 실제로 Chrome은 "Purpose : prefetch"헤더를 추가한다. –

1

분석 및 통계의 질문에 대답하려면, the spec는 말을 다음과 같습니다

호환성을 보장하고 사전 렌더링의 성공률을 개선하기 위해 대상 페이지의 [PAGE-가시성]을 사용할 수 있습니다 요청 결정 렌더링되는 페이지의 가시성 상태와 사전 렌더링을 포기하게하는 동작 (예 : 비 멱등 원 요청)을 피하기위한 적절한 논리를 구현하거나 원하지 않는 부작용이 트리거되는 것을 방지합니다 (예 :페이지가 표시되기 전에 분석 비콘이 실행 됨).