# 웹사이트 최적화

  1. url끝에 /를 붙인다. 안붙이면 리다이렉트함.

  2. 리다이렉트할때 메타태그로하면 좋지않다. 메타태그에 있는 페이지를 거쳐야 리다이렉트된다는점이다. 그리고 메타태그가 있는 페이지에 이미지, 스타일시트, 스크립트등의 링크가 존재한다면, 해당 리소스를 다운로드한다. 불필요한 파일들을 다운받는건 손해이다. Fiddler로 301, 302 코드가 발생하는 요소들을 찾아 의도치않게 리다이렉트되는 부분을 제거하자.

  3. 네트워크를 통해 무언가 가져오는 작업은 느리고, 비용도 많이 든다. 크기가 큰 응답은 클라이언트/서버 사이에 많은 왕복을 필요로한다. 그래서 http 캐싱은 중요하다.

  4. 웹페이지에서 동시에 많은 변수가 생성되고 처리되는 동안 브라우저에서 허용한 임계치를 넘었을때 GC가 동작하고, GC가 동작하면 스크립트 실행이 중단된다. GC가 완료되기 전까지 스크립트가 동작하지 못해 페이지가 느려진다.

  5. DOM의 생성과 삭제가 빈번한 페이지, 한페이지에 다수 ajax 통신이 필요한 페이지, 이벤트 바인딩 수가 많은 페이지, 사용자 체류시간이 긴 페이지를 개발할때는 필요없는 변수가 오브젝트 삭제, 이벤트 해제등을 활용하여 메모리 관리를 해야한다.


# FE 기법들

  • Image Lazy Load
  • dynamic import
  • windowing(virtual scroll)