Sebenarnya, RESTfulness hanya berlaku untuk RESOURCES, seperti yang ditunjukkan oleh Pengidentifikasi Sumber Daya Universal. Jadi untuk membicarakan hal-hal seperti header, cookie, dll. Sehubungan dengan REST tidak benar-benar tepat. REST dapat bekerja melalui protokol apa pun, meskipun secara rutin dilakukan melalui HTTP.
Penentu utama adalah ini: jika Anda mengirim panggilan REST, yang merupakan URI, maka setelah panggilan berhasil ke server, apakah URI mengembalikan konten yang sama, dengan asumsi tidak ada transisi yang telah dilakukan (PUT, POST, DELETE) ? Tes ini akan mengecualikan kesalahan atau permintaan otentikasi dikembalikan, karena dalam kasus itu, permintaan belum membuatnya ke server, yang berarti servlet atau aplikasi yang akan mengembalikan dokumen yang sesuai dengan URI yang diberikan.
Demikian juga, dalam kasus POST atau PUT, dapatkah Anda mengirim URI / muatan yang diberikan, dan terlepas dari berapa kali Anda mengirim pesan, itu akan selalu memperbarui data yang sama, sehingga GET berikutnya akan menghasilkan hasil yang konsisten?
REST adalah tentang data aplikasi, bukan tentang informasi tingkat rendah yang diperlukan untuk mendapatkan data yang ditransfer.
Dalam posting blog berikut, Roy Fielding memberikan ringkasan yang bagus dari seluruh ide REST:
http://groups.yahoo.com/neo/groups/rest-discuss/conversations/topics/5841
"Sistem yang tenang berkembang dari satu kondisi-mapan ke kondisi-mapan, dan masing-masing kondisi-mapan tersebut adalah kondisi awal yang potensial dan kondisi akhir yang potensial. Yaitu, sistem tenang adalah jumlah komponen yang tidak diketahui mematuhi komponen sederhana yang terdiri dari aturan sedemikian rupa sehingga mereka selalu berada di REST atau transisi dari satu keadaan tenang ke keadaan tenang lainnya. Setiap negara dapat sepenuhnya dipahami oleh representasi (s) yang dikandungnya dan serangkaian transisi yang disediakannya, dengan transisi terbatas pada seragam serangkaian tindakan agar dapat dipahami. Sistem ini mungkin berupa diagram keadaan yang rumit, tetapi setiap agen pengguna hanya dapat melihat satu keadaan pada satu waktu (kondisi-mapan saat ini) dan dengan demikian setiap keadaan sederhana dan dapat dianalisis secara independen. pengguna, OTOH, dapat membuat transisi mereka sendiri kapan saja (mis., masukkan URL, pilih bookmark,buka editor, dll.). "
Pergi ke masalah otentikasi, apakah itu dilakukan melalui cookie atau header, selama informasi itu bukan bagian dari muatan URI dan POST, itu benar-benar tidak ada hubungannya dengan REST sama sekali. Jadi, dalam hal status kewarganegaraan, kita berbicara tentang data aplikasi saja.
Misalnya, saat pengguna memasukkan data ke layar GUI, klien melacak bidang apa yang telah dimasukkan, yang belum, bidang apa pun yang diperlukan, dll. Ini semua KONTEKS KLIEN, dan tidak boleh dikirim atau dilacak oleh server. Apa yang bisa dikirim ke server adalah set lengkap bidang yang perlu dimodifikasi dalam sumber daya IDENTIFIKASI (oleh URI), sehingga terjadi transisi dalam sumber daya itu dari satu keadaan tenang ke yang lain.
Jadi, klien melacak apa yang dilakukan pengguna, dan hanya mengirim transisi keadaan lengkap yang logis ke server.