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 Modified
및 If Modified Since
상대적으로 완전하거나 캐시를 업데이트합니다. 그러나 동적 페이지, 페이지가 동적으로 종종 포함하지 않는, 생성되는 Last Modified
게이트웨이 캐시, 즉, 때마다 요청을 완료하지 않도록, 같은 브라우저 정보를 200
요청합니다.
따라서, 제 캐시에 동적 페이지에 대한 가속도 Response
의 HTTP Header
증가 Last Modified
정의는 다음에 따라 되돌아가 요청한 콘텐츠 업데이트 하거나 . 반환하지만 시간이 데이터베이스 쿼리를 만들었지 만, 다음 이상의 데이터베이스 쿼리를 피하고, 한 페이지의 내용뿐만 아니라 반환 따라서 크게 사용자의 느낌에 대한 대역폭 소비를 감소가 향상됩니다.Request
If Modified Since
200
304
304
HTTP Header