Saya menggunakan BOA untuk situs saya, tetapi secara default BOA hanya menonaktifkan caching front end dengan cepat untuk pengiriman formulir. Di luar pengalaman saya yang sebenarnya, saya menemukan sebuah salib artifisial berumur satu tahun tentang bagaimana New Zealand Post menangani Drupal & Varnish dan masalah token formulir. Suci John Wayne, itu harus dibaca untuk caching Drupal - sebenarnya. Berfokus hanya pada formulir masalah:
Bagian terakhir dari puzzle kami adalah modul Advanced Cache Bypass Advanced , yang secara otomatis menetapkan cookie NO_CACHE khusus setiap kali pengguna mengirimkan formulir POST di situs, termasuk hal-hal seperti formulir login. Pernis kami dikonfigurasikan untuk mem-bypass cache halaman (tetapi bukan cache ESI) ketika melihat cookie ini.
Anda juga dapat menonaktifkan token formulir ketika produksi XSRF tidak diminta kembali di form_alter (tidak disetel ($ form ['# token']);) atau ($ form ['# token'] = FALSE;)
Sebuah Acquia Drupal kinerja Artikel menempatkan sebagainya sebuah Drupal Modul Authcache , tapi membaca doc pada Authcache, ia bekerja keluar caching dengan tempat dudukan untuk bentuk (tidak caching formulir):
Authcache mencoba untuk mencegat konten yang dikustomisasi dan mengatur placeholder dalam HTML. Kemudian setelah halaman dimuat, panggilan balik Ajax digunakan untuk mengambil data khusus dan mengisi placeholder, secara dinamis memperbarui halaman HTML.
Placeholder Authcache saat ini: Token formulir (hanya pengguna yang masuk; diperlukan oleh> Drupal untuk mencegah serangan pemalsuan permintaan lintas situs)
Strateginya adalah, cache semuanya kecuali form . Jadi menangani semua hal lain: Mungkin Varnish tidak digunakan sama sekali, Memcache & Redis? Strategi saya adalah menggunakan apa yang ditawarkan BOA karena saya menggunakan BOA dan para penyihir di belakangnya ( omega8.cc ) tahu satu ton lebih banyak daripada saya. Saya tidak berpikir ada cache eksternal yang menyelesaikan masalah. Mereka semua tampaknya memotong formulir.
Lakukan caching parsial dengan authcache yang disebutkan di atas dan dengan Tampilan dan Panel yang diubah dengan halus seperti yang disebutkan dalam artikel NZ Post dan dijelaskan oleh kepercayaan otak di Wunderkraut - yang lama, tetapi membahas masalahnya.
Gunakan Drupal ESI Module dan Varnish yang sebagian sesuai dengan ESI):
ESI - atau Edge Side Include - adalah solusi caching kinerja tinggi untuk pengguna yang diotentikasi tetapi juga dapat bermanfaat bagi pengguna Anonim.
Biasanya, halaman yang dipersonalisasi untuk pengguna yang diautentikasi (bahkan personalisasi kecil, seperti blok yang mengatakan "Masuk sebagai manarth") akan mencegah proksi terbalik (yang dapat dengan mudah melakukan 100 kali lebih cepat daripada Drupal) dari caching halaman, karena pesan dimaksudkan untuk satu pengguna kemudian dapat dilihat oleh yang lain.
Semoga itu lebih bermanfaat.