출처:http://developer.yahoo.com/performance/rules.html

11: Avoid Redirects

리다이렉트(페이지 전환)은 301 이나 302 http 상태코드를 활용해서 이뤄진다.

   HTTP/1.1 301 Moved Permanently
      Location: http://example.com/newuri
      Content-Type: text/html
Response 해더를 위와 같이 셋팅해서 보내면 브라우저가 알아서 location 에 지정한 url 로 리다이렉션 한다.

즉 브라우저가 서버에 요청을 한번 하면 서버는 브라우저에게 바뀐 주소로 다시 요청하게 한다.
그럼 해더에 있는 다른 주소로 브라우저가 다시 요청하게 된다.
즉 하나의 페이지를 열기위해 두번의 요청이 발생하게 된다.

대부분의 개발자들이 아무생각없이 사용하는 '/'가 빠진 Url 의 경우 301 리다이렉션이 발생한다.
(오 이건 몰랐다..ㅜㅜ) http://test.test.com/test 로 요청하면 301 처리가 일어난후 http://test.test.com/test/ 로 재요청이 일어난다고 한다. 즉 '/' 를 빼먹음으로 서 쓸데없는 Request가 한번 더 발생하게 되는 것이다.

보통 사이트를 개편하거나 했을 경우 즐겨찾기에 이전 url  를 링크한 유저들을 위해 redirect 를 사용해 새로운 페이지로 역결하는 서비스를 많이 하는데 , 이것보다는 url-rewriting 을 통해 서버상에서 바로 컨텐츠를 보여주는 것이 좋다고 권하고 있다.

12: Remove Duplicate Scripts

당연한 이야기다.
하지만 개발하다 보면 종종 발생하는 것이다.
페이지안에 부분들이 인클루드에 으해 처리되던 asp 시절엔 더 많았다.

이런것을 방지하려면 페이지 템플릿을 정해서 스크립트 라이브러리를 따로 잘 관리하는 방법이다.
개발자 개별로 스크립트를 짜게 하지말고 한 곳에서 라이브러리를 관리하고 페이지 템플릿에서는 반스시 이 라이브러리만 사용하도록 하는 것이다.

댓글을 달아 주세요