Tugas akademis ... Pertama kami diminta untuk membuat satu set .html
file statis yang menunjukkan hasil pemilihan di berbagai divisi administratif. Kemudian kami disuruh "memodernisasi" ini dengan menggunakan templat Django. Cukup adil, saya bisa melihat manfaat dari pendekatan semacam itu.
Tapi kemudian kami disuruh untuk lebih "mengotak-atik" ini dengan membuat aplikasi "Tenang". Sejauh yang saya tahu ini berarti bahwa server hanya dapat mengekspos API yang menanggapi permintaan dengan mengirim data mentah klien dalam format JSON; klien, yang merupakan situs HTML + CSS + JS statis, harus menerima JSON ini dan kemudian secara dinamis membuat halaman web di sisi browser dengan JavaScript.
Karena saya sedih melewatkan beberapa kuliah, ketika ini pasti dijelaskan, adakah yang bisa menjelaskan kepada saya apa manfaat dari pendekatan seperti itu? Karena saya harus mengatakan saya hanya dapat melihat kekurangannya:
- Pengguna dengan JavaScript yang dinonaktifkan tidak akan dapat melihat halaman.
- Koreksi saya jika saya salah, tetapi AFAIK konten situs tersebut tidak akan dapat diindeks oleh Google.
- Tidak mungkin bagi pengguna untuk menandai hasil pemilihan di divisi tertentu. Sebagai gantinya, setiap kali mereka mengunjungi sisi, mereka harus mengklik jalan mereka untuk membuat JavaScript memuat hasil dari divisi tertentu. Atau gunakan bot Selenium yang melakukan ini untuk mereka.
- Ini memecah / memajukan tombol browser.
Jawaban:
Secara teknis, server web yang melayani halaman HTML adalah RESTful. Teks / Html adalah representasi sah yang valid , selama jenis media diatur dengan benar, sesuai dengan antarmuka yang seragam . Hanya saja, jangan menyalahgunakan kata kerja Anda (GET, POST, dll) dan ikuti HATEOAS (yaitu pada dasarnya menggunakan URL yang masuk akal yang secara unik mengidentifikasi sumber daya) dan ingat itu tenang.
Saya pikir apa yang ditanyakan oleh profesor Anda adalah bahwa halaman web Anda menggunakan RESTful API yang sering mengembalikan json (tapi sekali lagi dapat mengembalikan jenis media apa pun yang akan diterima klien ).
Adapun keberatan Anda:
Yah, mereka tidak akan bisa mendapatkan konten dinamis apa pun. Halaman masih dapat berisi konten statis.
Konten statis, termasuk meta tag, masih dapat dirayapi tanpa masalah.
Tidak Jika Anda mengikuti HATEOAS dengan benar, URL harus memberikan semua informasi status yang diperlukan untuk merender halaman, dan jika itu ada di URL, itu dapat di-bookmark.
sumber
XMLHttpResponse
, yang tidak mempengaruhi apa yang ditampilkan di bilah alamat browser.! Jadi, untuk divisi administrasi mana pun yang saya lihat hasil pemilihan, URL yang dapat dibookmark sama dan mengarah ke halaman utama.Ini perbedaan yang halus, tetapi Anda pindah dari halaman web ke aplikasi web. Di halaman web, server dan klien digabungkan dengan erat; satu-satunya pilihan Anda untuk melihat informasi adalah melalui halaman web.
Dengan memindahkan data ke layanan web RESTful, tampilan (apa yang dulunya halaman web) dan model (data) sepenuhnya dipisahkan, dan opsi Anda untuk berinteraksi dengan data meningkat.
sumber
API REST, seperti API apa pun, membuat sumber daya tersedia di antarmuka yang dapat dibaca mesin yang dapat digunakan oleh klien.
Jika Anda menggunakan API itu untuk membangun situs web Anda, Anda adalah salah satu dari banyak aplikasi yang mungkin menggunakan layanan yang sama.
Keuntungan dari gaya REST adalah: - menggunakan protokol yang ada (di sini HTTP) untuk bertukar data - Anda menggunakan jenis media yang ditentukan untuk bertukar sumber daya.
Ini berarti pengembang lain dapat menggunakan pengetahuan dan alat yang ada untuk menggunakan API Anda.
sumber