1-- Nginx에 서버] [고성능 - 11 Nginx에 + 톰캣의 정적 및 동적 분리

1 动态页面静态页面의 차이점

静态资源: 여러 사용자가 리소스에 액세스 할 때, 资源的源代码자원은 변경하지 않습니다.

动态资源: 여러 사용자가 리소스에 액세스 할 때 소스 코드 자원은 변화를 보낼 수 있습니다.

도 2는 정적 및 동적 박리 란

정적 및 동적 분리, 자원의 운동은 우리가 캐시 작업을 할 수있는 정적 자원의 특성에 따라 수, 분할 후 수행하는 특정 규칙에 따라 동적 페이지가 동일한 자원을 구별하는 동적 웹 사이트를 만드는 것입니다 종종 자원 영역이됩니다 이 사이트의 정적 프로세스의 핵심 아이디어입니다.

정적 및 동적 분리 간단한 요약이다 : 동적 및 정적 파일 파일의 분리

3 사용하는 이유 정적 및 동적 분리

우리의 소프트웨어 개발에서 백그라운드 처리를 (예 : 필요로하는 일부 요청 .jsp, .do등), 일부는 요청에 스풀 필요가 없습니다 (예 : css, html, jpg, js등 파일) 배경 처리 파일을 필요로하지 않습니다, 정적 파일, 또는 동적 파일을했다. 우리는 정적 배경 처리 파일을 무시 그래서. 내가 배경 정적 파일이 아직 완료되지 않습니다 무시하는 것이라고 말했다. 물론,이 가능하지만, 요청의 수는 배경에 크게 증가했다고. 우리는 속도의 요구 사항에 대응하기 위해 자원이 때, 우리는 분리 운동을 해결하기 위해이 전략을 사용해야합니다.

정적 및 동적 분리가 웹 사이트의 정적 자원 ( HTML, JavaScript, CSS, img및 기타 문서) 및 백 오피스 응용 프로그램은 배경 응용 프로그램 액세스를 줄이고, 사용자 액세스 정적 코드의 속도를 증가 별도로 배치했다. 여기에서 우리는 정적 자원 넣어 nginx의 전달 동적 자원 tomcat서버를.

따라서, 동적 자원이 전달 tomcat우리가 이야기의 앞에 리버스 프록시를 사용해야 할 서버.

4 정적 및 동적 분리 원리

정적 및 동적 분리 원리에 의해, 간단 location요청 url구체적인 구성은 다음과 같은되는 정합 :

    ### 静态资源访问
    server {
        listen       80;
        server_name  static.test.com;
        location /static/imgs {
            root F:/;
            index  index.html index.htm;
        }
    }
    ### 动态资源访问
    server {
        listen       80;
        server_name  www.test.com;

        location / {
            proxy_pass http://127.0.0.1:8080;
            index  index.html index.htm;
        }
    }

테스트 :

시작 Nginx서버, 브라우저 방문 : http://static.test.com/static/imgs/a.png

지역 찾기 F:/static/imgs/a.png이미지, 디스플레이 사진을이 정적 서버 액세스입니다.

경우 JSP사진의 주소의 도입은,이 사이트는 정적 및 동적 분리에 달성 될 수있다.

5 캐시 정적 자원

왜 인터넷 기업이 프로젝트에, 정적 리소스는 URL다시 타임 스탬프를 추가 할 것인가?

역할 :控制缓存

실제 프로젝트를 할 때 브라우저 캐시의 릴리스 버전은 서버 측 코드가 발생과 충돌이 원인 일 수 있습니다.

정적 자원에 타임 스탬프 다음에 요청할 수있는이 시간, 각 릴리스 버전의 해당 시간.

6 개 HTTP 304상태 코드

304 실제 상태 코드는 로컬 캐시를 취하고있다

클라이언트가 파일을 요청하면, 파일 캐시는 자신이 발견 Last Modified,이 요청에 포함됩니다 If Modified Since, 시간이 파일을 캐시됩니다 Last Modified. 요청이 포함 된 경우 따라서 If Modified Since, 그것은 클라이언트가 캐시되어 있음을 나타냅니다. 만큼 서비스 측면으로이 시간과 수정 시간은 수익을 확인할 수 있습니다 현재 요청 파일을 결정 304하거나 200.

정적과 같은 파일의 경우 : CSS, 이미지, 자동으로 전체 서버 Last ModifiedIf Modified Since상대적으로 완전하거나 캐시를 업데이트합니다. 그러나 동적 페이지, 페이지가 동적으로 종종 포함하지 않는, 생성되는 Last Modified게이트웨이 캐시, 즉, 때마다 요청을 완료하지 않도록, 같은 브라우저 정보를 200요청합니다.

따라서, 제 캐시에 동적 페이지에 대한 가속도 ResponseHTTP Header증가 Last Modified정의는 다음에 따라 되돌아가 요청한 콘텐츠 업데이트 하거나 . 반환하지만 시간이 데이터베이스 쿼리를 만들었지 만, 다음 이상의 데이터베이스 쿼리를 피하고, 한 페이지의 내용뿐만 아니라 반환 따라서 크게 사용자의 느낌에 대한 대역폭 소비를 감소가 향상됩니다.RequestIf Modified Since200304304HTTP Header

게시 된 675 개 원래 기사 · 원 찬양 (214) ·은 140,000 + 조회수

추천

출처blog.csdn.net/weixin_42112635/article/details/104977964