검수 리스트

서비스 오픈전 검수사항을 정리한다.

웹페이지

상품기술서 페이지 <HTML> 최적화 기능을 검수한다.

적용방식

  1. 브라우저 보안경고 없이 안전하게 https 가 구성되어 클라이언트에게 전달되는가?

    Hint

    • http2 활성화를 권장한다.

    • [브라우저 개발자 모드] 네트워크 탭에서 프로토콜이 h2 또는 h3 로 표기되는지 확인한다.

    • Wireshark등을 통해 메인페이지의 인증서 체인이 올바르게 구성되어 있는지 확인한다.

  2. HTTP 접근정책이 적용되어 있어, HTTP 접근시 HTTPS 로 리다이렉트 되는가?

    Hint

    • 웹서버와 동일한 조건으로 HTTP 접근시 HTTPS 리다이렉트가 적용되어 있다. → redirect

    • [브라우저 개발자 모드] 네트워크 탭에서 301 등 리다이렉트가 발생하는지 확인한다.

  3. urlRewrites 에 모든 적용대상 URL패턴이 정의되어 있다.

    Hint

    • pagedesk 등의 page- 함수와 같이 적용되어 있다면 pagedesk 함수 키워드로 통합된다.

    • 가능한 모든 값이 기본값으로 구성되어 있어 urlRewrites 에 별도 옵션을 추가하지 않는다.

    • 상세한 urlRewrites 가 범용 URL 전처리 규칙보다 우선하여 설정된다.

  4. (AJAX호출등 원본이 JSON 포맷인 경우) HTML 문서를 포함하는 필드만 수정된다. → in

  5. CPU 과부하 상황이라면 동작하지 않고, 원본 페이지가 그대로 노출된다. → throttling

    Hint

    stress 툴등 사용

    stress --cpu 16
    
  6. 데이터독 정상적으로 구성되어 있고, 특히 오류(4xx, 5xx) 관련 메트릭이 정상 집계/보고 되고 있는가?

    Hint

    • 고의로 5xx를 만들 수 없다면 없는 페이지를 요청하여 4xx로 처리하여 수행한다.

    • 메인페이지의 경우 404 Not Found 페이지를 노출하기보다 정상 페이지로 리다이렉트하는 경우가 있으니 참고한다.

사용자 시나리오

  1. 스와이프(swipe)등 메인, 주요 카테고리 페이지의 브라우징이 정상이다.

  2. 로그인이 정상적이다.

    Hint

    • ID/PW 기반의 로그인을 수행한다.

    • 소셜 로그인을 수행한다.

  3. 로그인 후 10개 이상의 페이지 브라우징동안 로그인이 풀리지 않는다.

  4. 로그아웃이 정상적으로 동작하며, 다른 계정으로 정상 로그인할 수 있다.

  5. 상품결제 또는 티켓팅 이후 취소가 정상적으로 동작한다.

  6. 다양한 브라우저 (최소한 크롬, 사파리)로 접속하여 정상적으로 동작한다. → 브라우저 호환성

    Hint

    • 고객사 검수팀에게 관련내용을 전달한다.

라우팅

  1. 페이지 트래픽이 항상 바이패스를 의미하는 TCP_CLIENT_REFRESH_MISS 로 동작한다.

    Hint

  2. 응답되는 모든 리소스(페이지, 이미지)에 Cache-Control 이 적용되어 있다. Cache-Control 은 고객사에 문의하여 CDN-TTL (최소 12시간)로 지정한다. 또는 원본 페이지의 Cache-Control 을 사용한다.

  3. CDN등 리소스 서비스 도메인이 지정되어 있는지 <HTML> 내 URL로 확인한다.

이미지

웹페이지 <HTML> 에 포함된 <IMG> 최적화 기능을 검수한다.

용량절감/최적화

  1. <IMG> 태그가 <PICTURE> 태그로 클라이언트 호환성에 맞추어 제공된다.

    Hint

  2. 최적화된 이미지에 대해 용량 절감효과가 확인된다.

로딩 최적화

  1. lazy loading이 적용되었다면 스크롤에 맞추어 이미지가 노출된다.

    Warning

    • 한 번에 모든 이미지가 노출되면 안된다.

  2. lqip 가 적용되어 있다면, lqip 노출후 정상이미지로 교체된다.

    Hint

    • [브라우저 개발자 모드] 네트워크 탭에서 3G 속도제한을 통해 확인한다.

캐싱/라우팅

  1. 이미지 서비스 도메인에 hyperdims 함수가 활성화되어 있다.

  2. 이미지 서비스 도메인이 CDN에 위임되어 있다.

    Hint

    • CDN캐싱정책이 최소 12시간 이상임을 확인한다.

    • CDN정책이 명확하지 않은 경우 응답 고객과 협의하여 Cache-Control: max-age=... 를 12시간 이상으로 설정한다.

  3. 이미지 URL을 반복 호출하여 HIT/MISS 여부를 확인한다.

    Hint

    • [브라우저 개발자 모드] 일반적으로 X-Cache-Result 와 같은 헤더로 제공된다.

  4. 이미지 URL을 임의수정하였을 때 CDN MISS 를 통해 동일 노드에서 hyperdims 함수가 수행되어야 한다. 반드시 access.log 로 확인한다.

    Hint

    • 예를 들어 /resize/10 명령을 URL에 추가한다.

    • 노출 상품기술서 URL패턴이 같다면 반드시 동일 노드로 라우팅되어야 한다.

  5. 동일 콘텐츠를 다른 hyperdims 명령어로 호출시 ttl 동안 원본에 재요청하지 않는다.

    Hint

    • 2번째 요청에 대해 access.log 에는 TCP_MISS 가 기록되지만, origin.log 는 발생하지 않는다.

비디오

상품기술서 페이지 <HTML> 에 포함된 모든 비디오 최적화 기능을 검수한다.

용량절감/최적화

  1. 웹페이지에 포함된 MP4 포맷을 WEBM 으로 최적화한다.

    Hint

    • 자동재생, 루프, 음소거, 인라인재생 등의 속성이 유지된다.

    • 원본 재생속도와 동일한 속도로 재생된다.

  2. 원본에 비해 용량 절감이 확인된다.

로딩 최적화

  1. lazy loading이 적용되었다면 스크롤에 맞추어 비디오가 노출된다.

    Hint

    • 한 번에 모든 비디오가 노출되면 안된다.

    • 캐시를 꺼두어도 브라우저가 비디오를 캐싱하는 경우가 있으니 반드시 시크릿탭 새창으로 확인한다.

  2. poster 가 제공되며, 비디오 로딩전에 노출된다.

    Hint

    <video poster="URL">
    

캐싱/라우팅

  1. 비디오 서비스 도메인에 transcoder 함수가 활성화되어 있다.

  2. 비디오 서비스 도메인이 CDN에 위임되어 있다.

    Hint

    • CDN캐싱정책이 최소 12시간 이상임을 확인한다.

    • CDN정책이 명확하지 않은 경우 응답 고객과 협의하여 Cache-Control: max-age=... 를 12시간 이상으로 설정한다.

  3. 비디오 URL을 반복 호출하여 HIT/MISS 여부를 확인한다.

    Hint

    • [브라우저 개발자 모드] 일반적으로 X-Cache-Result 와 같은 헤더로 제공된다.

  4. 비디오 URL을 임의수정하였을 때 CDN MISS 를 통해 동일 노드에서 transcoder 함수가 수행되어야 한다. 반드시 access.log 로 확인한다.

    Hint

    • 예를 들어 /capture/ts=1 명령을 URL에 추가한다.

    • 노출 상품기술서 URL패턴이 같다면 반드시 동일 노드로 라우팅되어야 한다.

  5. 동일 콘텐츠를 다른 transcoder 명령어로 호출시 ttl 동안 원본에 재요청하지 않는다.

    Hint

    • 2번째 요청에 대해 access.log 에는 TCP_MISS 가 기록되지만, origin.log 는 발생하지 않는다.