Rumah Operasi dan penyelenggaraan Nginx nginx tamat tempoh kaedah untuk mengawal caching halaman

nginx tamat tempoh kaedah untuk mengawal caching halaman

May 12, 2023 am 08:04 AM
nginx expires

Sintaks: tamat tempoh [masa|epoch|maks|pff] Nilai lalai: offexpires arahan mengawal maklumat pengepala "tamat tempoh" dan "kawalan cache" dalam respons http dan memulakan fungsi mengawal masa cache halaman: anda boleh menggunakan nombor yang betul atau nombor negatif. Nilai pengepala "tamat tempoh" akan ditetapkan dengan menambahkan masa sistem semasa kepada nilai masa yang ditetapkan. Nilai masa juga mengawal nilai "cache-control": nombor negatif menunjukkan tiada cache, nombor positif atau sifar menunjukkan max-age=time epoch: Tentukan nilai "expired" sebagai 1januari,1970,00:00 :01 gmtmax: Nyatakan "tamat tempoh" "Nilai "cache-control" ialah 31disember2037 23:59:59gmt, dan nilai "cache-control" ialah 10 tahun. -1: Tentukan nilai "tamat tempoh" menjadi -1s masa pelayan semasa, yang bermaksud ia akan tamat tempoh selama-lamanya. mati: Jangan ubah suai nilai "tamat tempoh" dan "kawalan cache"
tamat menggunakan masa tertentu dan memerlukan penyegerakan yang ketat antara pelayan dan klien.
Kawalan cache menggunakan arahan umur maksimum untuk menentukan tempoh masa komponen akan dicache.
Untuk pelayar yang tidak menyokong http1.1, tamat tempoh masih perlu dikawal. Oleh itu, lebih baik untuk menentukan dua pengepala respons. Tetapi spesifikasi http menetapkan bahawa arahan umur maksimum akan menulis semula pengepala tamat tempoh.

Jika anda tidak mahu proksi atau penyemak imbas dicache, tambahkan parameter tanpa cache atau parameter peribadi:
# tamat tempoh 1d;
tambah_header cache-control no-cache;
add_header cache-control private ;
Dengan cara ini, apabila penyemak imbas f5 dimuat semula, nilai yang dikembalikan masih 200 dan bukannya 304.

Rekod contoh cache mengawal nginx:
tamat tempoh 1d;
add_header cache-control no- cache;
add_header cache-control private;
jika ( !-e $request_filename) {
tulis semula ^(.*) http://test.zhaopin.com /index.html break;
# add_header cache-control no-cache;
# add_header cache-control private;
Apabila saya menulis add_header selepas menulis semula, saya mendapati add_header tidak berfungsi. . Ini kerana ia ditulis ke dalam if..


modul mod_expires Apache membolehkan tarikh ditetapkan secara relatif seperti umur maksimum apabila menggunakan pengepala tamat tempoh, yang dilengkapkan melalui arahan expiresdefault. Contohnya: masa tamat tempoh imej ialah 10 tahun selepas permintaan bermula

tamat lalai "akses tambah 10 tahun"
< /filematch> ;
Ia menghantar pengepala tamat tempoh dan pengepala umur maksimum kawalan cache dalam respons.

tamat tempoh|etag mengawal cache halaman Perbezaannya tamat tempoh: Seperti yang dinyatakan dalam artikel di atas: arahan tamat tempoh mengawal maklumat pengepala "tamat tempoh" dan "kawalan cache" dalam respons http, dan memulakan fungsi. mengawal masa cache halaman : Nombor positif atau negatif boleh digunakan. Nilai pengepala "tamat tempoh" akan ditetapkan dengan menambahkan masa sistem semasa kepada nilai masa yang ditetapkan. Nilai masa juga mengawal nilai "cache-control": nombor negatif menunjukkan tiada cache, nombor positif atau sifar menunjukkan max-age=time epoch: Tentukan nilai "expired" sebagai 1januari,1970,00:00 :01 gmtmax: Nyatakan "tamat tempoh" "Nilai ialah 31december203723:59:59gmt, dan nilai "kawalan cache" ialah 10 tahun. -1: Tentukan nilai "tamat tempoh" menjadi -1s masa pelayan semasa, yang bermaksud ia akan tamat tempoh selama-lamanya. mati: Jangan ubah suai nilai "tamat tempoh" dan "kawalan cache"

tamat menggunakan masa tertentu dan memerlukan penyegerakan yang ketat antara pelayan dan klien.
Kawalan cache menggunakan arahan umur maksimum untuk menentukan tempoh masa komponen akan dicache.
Untuk pelayar yang tidak menyokong http1.1, tamat tempoh masih perlu dikawal. Oleh itu, lebih baik untuk menentukan dua pengepala respons. Tetapi spesifikasi http menetapkan bahawa arahan umur maksimum akan menulis semula pengepala tamat tempoh. Ia biasanya digunakan apabila halaman tidak berubah dengan cepat Jika cache tamat tempoh, penyemak imbas akan terlebih dahulu mengesahkan sama ada ia sah sebelum menggunakannya semula. Jika ia sah, ia akan mengembalikan 304 kod status. Tamat tempoh ditentukan melalui pengepala respons yang diubah suai terakhir. Seperti yang ditunjukkan dalam gambar:
Lawatan pertama:
Permintaan:
nginx expires控制页面缓存的方法

Pulangan:
nginx expires控制页面缓存的方法

Lawatan kedua:
Permintaan :
nginx expires控制页面缓存的方法

Pulangan:
nginx expires控制页面缓存的方法

Kod status yang dikembalikan pada masa ini ialah 304, dan terdapat lebih banyak if-ubah suai dalam permintaan daripada yang pertama masa Pengepala -sejak dibandingkan dengan yang terakhir diubah suai dalam pelayan asal, jadi caching penyemak imbas dilaksanakan dan sama ada ia telah tamat tempoh ditentukan.
Secara ringkasnya, last-modified dan if-modified-sejak kedua-duanya adalah maklumat pengepala http yang digunakan untuk merekodkan masa pengubahsuaian terakhir halaman, tetapi yang terakhir diubah suai ialah pengepala http yang dihantar oleh pelayan kepada klien, manakala if-modified -kerana ialah Daripada pengepala yang dihantar oleh klien ke pelayan, anda boleh melihat bahawa apabila meminta halaman cache sedia ada setempat sekali lagi, klien akan menghantar semula cap waktu pengubahsuaian terakhir yang diubah suai terakhir yang dihantar oleh pelayan sebelumnya melalui if-modified- sejak pengepala Ini Ia adalah untuk pelayan mengesahkan dan menggunakan cap waktu ini untuk menentukan sama ada halaman pelanggan adalah yang terkini. Jika ia bukan yang terkini, kembalikan 304 untuk memberitahu pelanggan bahawa halaman dalam cache tempatannya adalah yang terkini, jadi pelanggan boleh memuatkan halaman secara langsung dari tempatan, yang akan mengurangkan data yang dihantar pada rangkaian dan juga mengurangkan beban pada pelayan.

Jika anda tidak mahu proksi atau penyemak imbas dicache, tambahkan parameter tanpa cache atau parameter peribadi:
# tamat tempoh 1d;
tambah_header cache-control no-cache;
add_header cache-control private ;
nginx expires控制页面缓存的方法



etag: teg entiti, iaitu mekanisme yang digunakan untuk mengesahkan kesahihan pelayan web dan cache penyemak imbas. Pelayan asal menggunakan pengepala respons etag untuk menentukan etag komponen dan penyemak imbas menghantar etag kembali ke pelayan asal melalui pengepala if-none-match. Jika ia sepadan, kembalikan 304
seperti yang ditunjukkan:
Lawatan pertama:
Permintaan:
nginx expires控制页面缓存的方法

Pulangan:
nginx expires控制页面缓存的方法

Kedua permintaan:
nginx expires控制页面缓存的方法

Pulangan:
nginx expires控制页面缓存的方法

Kod status yang masih dikembalikan ialah 304, dan terdapat lebih banyak jika dalam permintaan berbanding kali pertama - pengepala tiada padanan. Jadi laksanakan cache penyemak imbas. Jika nilai ini tidak sepadan, cache akan tamat tempoh.
etag dan jika-tiada-padan ialah kaedah yang biasa digunakan untuk menentukan sama ada sumber telah berubah. Sama seperti last-modified dan http-if-modified-sejak. Tetapi perbezaannya ialah pengubahsuaian terakhir dan http-jika-diubahsuai-sejak hanya menentukan masa pengubahsuaian terakhir sumber, manakala etags dan jika-tiada-padanan boleh menjadi sebarang atribut sumber.
etags dan jika-tiada-padanan berfungsi dengan menambahkan maklumat etags pada httpresponse. Apabila pelanggan meminta sumber semula, maklumat jika-tiada-padan (nilai etags) akan ditambahkan pada httprequest. Jika pelayan mengesahkan bahawa etag sumber tidak berubah (sumber tidak berubah), ia akan mengembalikan status 304 jika tidak, pelayan akan mengembalikan status 200 dan mengembalikan sumber dan etags baharu;
Format etag pada iis perlu diubah suai.

Atas ialah kandungan terperinci nginx tamat tempoh kaedah untuk mengawal caching halaman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara memeriksa sama ada nginx dimulakan Cara memeriksa sama ada nginx dimulakan Apr 14, 2025 pm 01:03 PM

Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

Bagaimana untuk memeriksa sama ada Nginx dimulakan? Bagaimana untuk memeriksa sama ada Nginx dimulakan? Apr 14, 2025 pm 12:48 PM

Di Linux, gunakan arahan berikut untuk memeriksa sama ada nginx dimulakan: Hakim status SistemCTL Nginx berdasarkan output arahan: Jika "Aktif: Aktif (Running)" dipaparkan, Nginx dimulakan. Jika "aktif: tidak aktif (mati)" dipaparkan, nginx dihentikan.

Cara memulakan nginx di linux Cara memulakan nginx di linux Apr 14, 2025 pm 12:51 PM

Langkah -langkah untuk memulakan Nginx di Linux: Periksa sama ada Nginx dipasang. Gunakan SistemCTL Mula Nginx untuk memulakan perkhidmatan Nginx. Gunakan SistemCTL Dayakan NGINX untuk membolehkan permulaan automatik Nginx pada permulaan sistem. Gunakan Status SistemCTL Nginx untuk mengesahkan bahawa permulaan berjaya. Lawati http: // localhost dalam pelayar web untuk melihat halaman selamat datang lalai.

Cara Mengkonfigurasi Nginx di Windows Cara Mengkonfigurasi Nginx di Windows Apr 14, 2025 pm 12:57 PM

Bagaimana cara mengkonfigurasi nginx di Windows? Pasang Nginx dan buat konfigurasi hos maya. Ubah suai fail konfigurasi utama dan sertakan konfigurasi hos maya. Mulakan atau Muat semula Nginx. Uji konfigurasi dan lihat laman web. Selektif membolehkan SSL dan mengkonfigurasi sijil SSL. Selektif tetapkan firewall untuk membolehkan trafik port 80 dan 443.

Cara menyelesaikan nginx403 Cara menyelesaikan nginx403 Apr 14, 2025 am 10:33 AM

Bagaimana untuk memperbaiki kesilapan dilarang nginx 403? Semak keizinan fail atau direktori; 2. Semak .htaccess File; 3. Semak fail konfigurasi nginx; 4. Mulakan semula nginx. Penyebab lain yang mungkin termasuk peraturan firewall, tetapan selinux, atau isu aplikasi.

Cara memeriksa status nginx yang berjalan Cara memeriksa status nginx yang berjalan Apr 14, 2025 am 11:48 AM

Kaedah untuk melihat status berjalan nginx adalah: Gunakan arahan PS untuk melihat status proses; Lihat fail konfigurasi nginx /etc/nginx/nginx.conf; Gunakan modul status nginx untuk membolehkan titik akhir status; Gunakan alat pemantauan seperti Prometheus, Zabbix, atau Nagios.

Cara memulakan pelayan nginx Cara memulakan pelayan nginx Apr 14, 2025 pm 12:27 PM

Memulakan pelayan Nginx memerlukan langkah-langkah yang berbeza mengikut sistem operasi yang berbeza: Sistem Linux/Unix: Pasang pakej Nginx (contohnya, menggunakan apt-get atau yum). Gunakan SystemCTL untuk memulakan perkhidmatan Nginx (contohnya, SUDO SystemCTL Mula Nginx). Sistem Windows: Muat turun dan pasang fail binari Windows. Mula Nginx menggunakan nginx.exe executable (contohnya, nginx.exe -c conf \ nginx.conf). Tidak kira sistem operasi yang anda gunakan, anda boleh mengakses IP pelayan

Cara menyelesaikan ralat nginx403 Cara menyelesaikan ralat nginx403 Apr 14, 2025 pm 12:54 PM

Pelayan tidak mempunyai kebenaran untuk mengakses sumber yang diminta, mengakibatkan ralat NGINX 403. Penyelesaian termasuk: Periksa keizinan fail. Semak konfigurasi .htaccess. Semak konfigurasi Nginx. Konfigurasikan keizinan Selinux. Semak peraturan firewall. Menyelesaikan masalah lain seperti masalah penyemak imbas, kegagalan pelayan, atau kesilapan lain yang mungkin.

See all articles