Penyimpanan sisi pelanggan dengan storan web html5
Penyimpanan Web HTML5 adalah mekanisme penyimpanan klien yang merangkumi LocalStorage dan sessionStorage, bekas penyimpanan berterusan, dan yang terakhir hanya sah semasa sesi. Ia mempunyai kapasiti yang lebih besar dan tidak menghantar data dengan permintaan, dan sesuai untuk mengingati keutamaan pengguna, membentuk pementasan, pengesahan ringan, dan komunikasi silang halaman. Apabila menggunakannya, anda perlu berhati -hati untuk menyimpan rentetan, tiada mekanisme tamat tempoh automatik, operasi penyegerakan boleh menjejaskan prestasi, dan nama subdomain tidak berkongsi data. Adalah disyorkan untuk menyimpan maklumat sensitif pada pelayan atau cookies httponly.
Adakah anda sering menghadapi situasi di mana anda perlu menyimpan beberapa data sementara dalam penyemak imbas anda? Sebagai contoh, ingat status log masuk pengguna, simpan beberapa pilihan, dan tidak mahu menggunakan kuki, yang merupakan cara lama untuk melakukannya? Penyimpanan web HTML5 telah dibuat untuk menyelesaikan masalah ini.

Apakah penyimpanan web html5?
Penyimpanan Web adalah mekanisme penyimpanan klien yang disediakan oleh HTML5, yang terutamanya termasuk dua jenis: localStorage
dan sessionStorage
. Mereka semua menyimpan data dalam bentuk pasangan nilai utama dalam penyemak imbas, tetapi ada satu perbezaan utama:
- LocalStorage : Data akan disimpan sepanjang masa kecuali cache penyemak imbas dibersihkan secara manual.
- SesiStorage : Hanya sah semasa sesi semasa, data akan dibersihkan selepas menutup halaman atau penyemak imbas.
Berbanding dengan kuki, penyimpanan web mempunyai kapasiti yang lebih besar (secara amnya kira -kira 5MB setiap nama domain), dan ia tidak akan dihantar ke pelayan dengan setiap permintaan, mengurangkan beban pada rangkaian.

Bagaimana cara menggunakan storan web untuk mengakses data?
Ia sebenarnya sangat mudah digunakan, pada dasarnya ia adalah satu perkara yang memanggil beberapa kaedah. Sebagai contoh, jika anda ingin menyimpan nama pengguna pengguna secara tempatan, anda boleh menulis seperti ini:
localStorage.setItem ('nama pengguna', 'john_doe');
Apabila anda ingin membaca nilai ini kemudian:

biarkan nama = localStorage.getItem ('nama pengguna'); console.log (nama); // output john_doe
Sekiranya anda ingin memadamkan data tertentu:
localStorage.removeItem ('nama pengguna');
Sekiranya anda ingin membersihkan semua data:
localStorage.clear ();
Kaedah ini juga digunakan untuk sessionStorage
, tetapi kitaran hayat berbeza.
Harus diingat bahawa penyimpanan web hanya boleh menyimpan rentetan. Jika anda ingin menyimpan objek atau tatasusunan, anda perlu menggunakan JSON.stringify()
untuk menukarnya terlebih dahulu:
biarkan pengguna = {name: 'john_doe', umur: 25}; localStorage.setItem ('user', json.stringify (user));
Apabila dikeluarkan, analisisnya kembali:
biarkan userData = json.parse (localStorage.getItem ('user'));
Senario mana yang sesuai untuk penyimpanan web?
- Ingat Keutamaan Pengguna : seperti tema laman web, saiz fon, dan lain-lain, dan anda tidak perlu membiarkan pengguna memilih semula setiap kali.
- Borang Penyimpanan Sementara Data : Pengguna secara tidak sengaja menyegarkan halaman selepas mengisi separuh kandungan. Anda boleh menggunakan
sessionStorage
untuk memulihkan kandungan sebelumnya. - Maklumat Pengesahan Ringan : Sebagai contoh, JWT Token, walaupun tidak disyorkan untuk meletakkan
localStorage
untuk masa yang lama (kerana risiko serangan XSS), ia masih biasa dalam beberapa projek pemisahan depan dan belakang. - Komunikasi Cross Page : Dengan mendengar acara
storage
, mesej mudah boleh diluluskan di antara pelbagai tab.
Sebagai contoh, apabila anda sedang mengusahakan aplikasi tugasan, tugas-tugas yang ditambah oleh pengguna dapat sementara waktu di localStorage
, dan halaman tidak akan hilang walaupun ia disegarkan semula.
Apa yang harus saya perhatikan?
Walaupun penyimpanan web sangat mudah, terdapat beberapa "lubang" untuk memberi perhatian kepada:
- IE8 dan di bawah versi tidak disokong, tetapi tiada siapa yang boleh menggunakannya sekarang, bukan?
- Data yang disimpan hanya boleh menjadi rentetan, dan struktur kompleks perlu mengendalikan siri dan deserialization dengan sendirinya.
- Data tidak boleh tamat tempoh secara automatik, tidak seperti kuki yang boleh menetapkan atribut
expires
. - Semua operasi disegerakkan, dan operasi data yang besar boleh menjejaskan prestasi.
- Data antara subdomain yang berbeza tidak dikongsi, sebagai contoh,
a.example.com
danb.example.com
masing -masing mempunyai ruang penyimpanan sendiri.
Jika aplikasi anda mempunyai keperluan keselamatan yang tinggi, seperti maklumat sensitif pengguna, disarankan untuk meletakkannya dalam kuki atau pelayan httponly.
Pada dasarnya itu sahaja. Penyimpanan web tidak rumit tetapi mudah untuk mengabaikan butiran, terutamanya format data dan aspek keselamatan. Menguasai dengan baik dapat meningkatkan pengalaman front-end anda.
Atas ialah kandungan terperinci Penyimpanan sisi pelanggan dengan storan web html5. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Tutorial ini memperincikan cara menggunakan CSS untuk menyembunyikan kandungan teks tertentu dengan tepat di halaman HTML untuk mengelakkan masalah seluruh elemen induk yang tersembunyi kerana pemilih yang tidak betul. Dengan menambah kelas CSS eksklusif ke elemen pembalut teks sasaran dan menggunakan paparan: tiada; Atribut, pemaju boleh mencapai kawalan halus elemen halaman, memastikan bahawa hanya bahagian yang diperlukan tersembunyi, dengan itu mengoptimumkan susun atur halaman dan pengalaman pengguna.

Usemailto: inhreftocreateemailinks.startwithforbasiclinks, tambah? Subjek = dan & body = forpre-filledContent, andincludemultipleaddressorcc =, bcc = foradvancedOptions.

USECSSSFLOOPROPERTYTOWRAPTEXTAROUNIMAGE: FloatLeftFortExtOntHeright, FloatRightFortExtOnTheLeft, AddMarginforspacing, andClearFloatStOpreventLayOuteSues.

Setthelangattributeinthehtmltagtospecifypagelanguage, mis., Forenglish;

Artikel ini meneroka dua masalah biasa apabila memanggil fungsi JavaScript luaran dalam HTML: masa pemuatan skrip yang tidak betul menyebabkan unsur-unsur DOM menjadi tidak siap, dan penamaan fungsi mungkin bertentangan dengan peristiwa terbina dalam pelayar atau kata kunci. Artikel ini menyediakan penyelesaian terperinci, termasuk lokasi rujukan skrip tweaking dan mengikuti spesifikasi penamaan fungsi yang baik untuk memastikan kod JavaScript dilaksanakan dengan betul.

USetetetitLeatTrBITrBITpetoLToolCUStOM-STyLElyLEtoMSORCUStOM.1.addtitle = "Text" toanyeLementFordefaLtTipips.2.forStyLEdToolTips, wrapTheelememementinAcontainer, uss.toolTipand.tool

Artikel ini meneroka cabaran menangkap peristiwa mousedown pada div ibu bapa yang mengandungi iframes domain. Masalah teras ialah dasar keselamatan pelayar (dasar asal usul) menghalang acara langsung DOM mendengar kandungan iframe silang domain. Jenis penangkapan acara ini tidak dapat dicapai melainkan nama domain sumber iframe dikawal dan CORS dikonfigurasi. Artikel ini akan menerangkan mekanisme keselamatan secara terperinci dan batasan mereka mengenai interaksi peristiwa dan memberikan alternatif yang mungkin.

Apabila menggunakan bootstrap untuk susun atur laman web, pemaju sering menghadapi masalah elemen yang dipaparkan bersebelahan dan bukannya disusun secara vertikal secara lalai, terutamanya apabila bekas induk menggunakan susun atur Flexbox. Artikel ini akan meneroka cabaran susun atur yang sama dengan mendalam dan memberikan penyelesaian: dengan menyesuaikan atribut flex-arah dari bekas flex ke lajur, menggunakan kelas alat Flex-Column Bootstrap untuk mencapai susunan menegak yang betul dari tag H1 dan blok kandungan seperti bentuk, memastikan struktur halaman memenuhi jangkaan.
