GNU/Linux >> Belajar Linux >  >> Linux

Apa itu Model Pengembangan Web Stateless dan Stateful

Pemirsa Target

Pengembang yang baru mengenal pemrograman situs web atau yang mungkin menyukai ulasan model desain situs tanpa status dan status.

Pengantar

Model perilaku aplikasi perangkat lunak stateful dan stateless menentukan bagaimana browser web pengguna berkomunikasi dengan server web. Pada tahun-tahun awal Web, situs cenderung tidak memiliki kewarganegaraan. Halaman itu statis, tidak bervariasi dari pengguna ke pengguna. Kemudian, situs web menyertakan model stateful, yang mengirimkan halaman dengan informasi unik untuk setiap pengguna. Aplikasi web stateful sangat penting untuk e-commerce modern seperti pengecer online dan bank, tetapi memerlukan pemrograman yang canggih untuk bekerja secara efektif.
.

Model Tanpa Kewarganegaraan

Dalam bentuk murni model stateless, program klien membuat permintaan ke server aplikasi, yang mengirimkan data kembali ke klien. Server memperlakukan semua koneksi klien secara setara dan tidak menyimpan informasi dari permintaan atau sesi sebelumnya. Sebuah situs web yang menyajikan halaman web statis sederhana adalah contoh yang baik dari model stateless. Server menerima permintaan untuk halaman yang dihostingnya dan mengirimkan data halaman ke browser yang meminta, seperti juru masak pesanan singkat yang membuatkan makanan untuk pengunjung.
.

Model Berstatus

Saat aplikasi beroperasi dalam mode stateful, server melacak siapa pengguna dan apa yang mereka lakukan dari satu layar ke layar berikutnya. Mempertahankan status tindakan pengguna sangat penting untuk memiliki sesi yang bermakna dan berkelanjutan. Biasanya dimulai dengan login dengan ID pengguna dan kata sandi, menetapkan status awal sesi. Saat pengguna menavigasi situs, status dapat berubah. Server mempertahankan status informasi pengguna sepanjang sesi hingga logout.
.

Membuat Negara Menjadi Tanpa Kewarganegaraan

Banyak situs web menghasilkan halaman secara dinamis, kurang mengandalkan file HTML statis. Browser pengguna menerima data halaman dari server web dan menjadikannya seperti halaman statis. Selain itu, halaman dinamis memungkinkan server untuk "mengingat" pengguna dan membuat kontinuitas dari halaman ke halaman. Untuk membuat kontinuitas berfungsi, pengembang dapat menggunakan sejumlah trik, menambahkan fitur stateful ke model stateless. Misalnya, ketika pengguna masuk ke situs web bank, server membuat informasi tentang sesi ini. Informasi mungkin berada di memori server, tetapi juga dapat disimpan di browser. Server melacak sesi Anda dengan merekam informasi unik tentang sesi tersebut, seperti alamat IP pengguna. Selain itu, pengembang dapat membuat variabel sisi server tambahan yang digunakan oleh program di server. Variabel ini tetap utuh selama sesi aktif, menghilang saat logout atau sesi berakhir.
.

Data Sisi Peramban

Ada beberapa opsi berbeda untuk menyimpan data sesi di browser. Salah satunya adalah kue , jenis token browser khusus. Server web dapat membuat cookie dan menyimpannya di browser pengguna sehingga dapat menanyakannya selama sesi. Peramban menyimpan cookie ini dan mengembalikannya atas permintaan server. Cookie secara opsional dapat kedaluwarsa dengan sesi atau bertahan hampir secara permanen. Namun, jika tetap ada, data dapat dibaca oleh situs mana pun, yang berpotensi mengungkapkan informasi yang mungkin tidak dibagikan oleh pengguna. Banyak perusahaan tanpa pandang bulu dan pengumpulan data yang tidak sah dari penggunaan cookie telah menyebabkan rasa tidak percaya dari banyak pengguna Internet. Banyak pengguna, pada gilirannya, merespons dengan mengatur browser mereka untuk memblokir cookie, membuat cookie kurang tersedia untuk tujuan yang sah.

Selain cookie, Anda dapat mengomunikasikan data sesi ke server dengan meletakkan variabel di URL, diawali dengan tanda tanya, seperti dalam contoh ini:

http://mysite.net/anypage.php?userID=54321&orderID=51926

Perhatikan bahwa variabel pertama diawali dengan tanda tanya dan variabel berikutnya menggunakan ampersand.

Banyak situs menggunakan URL untuk mengirimkan data dari klien ke server. Salah satu kelemahannya adalah data URL dapat dilihat oleh siapa saja. Dalam beberapa kasus dimungkinkan untuk mengeksploitasi data URL untuk mendapatkan informasi yang tidak sah atau dengan cara lain merusak keamanan situs. Selain itu, peretas yang memantau lalu lintas Internet Anda dapat mencegat data URL dengan mudah. Namun, Anda dapat mengaburkan data URL dengan meneruskannya dalam bentuk terenkripsi atau hash, sehingga meningkatkan keamanannya.
.

Pemuatan Server

Saat menjalankan situs web yang menggunakan mode stateless, server cloud memiliki pekerjaan yang relatif mudah, menyajikan halaman tanpa perlu menyimpan data pengguna. Situs stateful memiliki overhead memori tambahan untuk setiap pengguna, yang diperlukan untuk menyimpan data sesi dasar ditambah tanggapan pengguna dan data lain yang diperlukan oleh aplikasi. Untuk situs yang menangani ribuan sesi simultan, persyaratan memori tambahan bertambah. Situs tanpa kewarganegaraan yang terutama mengandalkan halaman statis juga lebih mudah di CPU server. Sebaliknya, situs stateful lebih bergantung pada dinamis, konten yang dihasilkan program, membutuhkan lebih banyak tenaga kuda CPU per sesi. Staf operasi yang cerdas terus mencermati memori server dan data kinerja CPU, mencari hambatan yang dapat memengaruhi respons situs.
.

Kesimpulan

Di Internet modern, situs web yang sepenuhnya tanpa kewarganegaraan memiliki penggunaan terbatas, karena semakin banyak konten bergantung pada pelacakan data dari sesi pengunjung dengan situs itu. Untuk membuat situs web dinamis yang “mengenal” pelanggan mereka, pengembang web harus mengingat perbedaan antara mode stateful dan stateless serta keuntungan dan kerugian dari setiap pendekatan yang berkaitan dengan halaman atau elemen halaman tertentu.

Atlantic.net menawarkan hosting VPS serta layanan hosting terkelola yang mencakup lapisan layanan terkelola yang penting bagi bisnis untuk paket hosting Anda. Hubungi kami hari ini untuk informasi lebih lanjut.

Pelajari lebih lanjut tentang layanan hosting VPS dan server pribadi Virtual kami.

.
.


Linux
  1. Apa itu Server Web, dan Bagaimana Cara Kerja Server Web?

  2. Web Terdesentralisasi dan Jaringan P2P Dijelaskan

  3. Apa yang Dapat Anda Lakukan dengan VPS dan Server Cloud?

  1. Nuclide – IDE Terbuka untuk Pengembangan Seluler dan Web

  2. Disk sistem dan disk data FAQ

  3. Apa itu dispersi NTP dan bagaimana cara mengontrolnya?

  1. Apa Itu Intel SGX dan Apa Manfaatnya?

  2. Cara Memperkuat dan Mengamankan Server Web NGINX di Linux

  3. Apa itu Apache? Tinjauan Mendalam Server Web Apache