PROPFIND
Metode HTTP
Spesifikasi metode HTTP PROPFIND
Metode PROPFIND mengambil properti yang didefinisikan pada sumber daya yang diidentifikasi oleh Request-URI, jika sumber daya tersebut tidak memiliki anggota internal, atau pada sumber daya yang diidentifikasi oleh Request-URI dan berpotensi menjadi sumber daya anggotanya, jika sumber daya tersebut merupakan koleksi yang memiliki URL anggota internal. Semua sumber daya yang sesuai dengan DAV HARUS mendukung metode PROPFIND dan elemen XML
Klien HARUS mengirimkan tajuk Kedalaman dengan nilai "0", "1", atau "tak terhingga" dengan permintaan PROPFIND. Server HARUS mendukung permintaan kedalaman "0" dan "1" pada sumber daya yang sesuai dengan WebDAV dan HARUS mendukung permintaan "tak terhingga". Pada praktiknya, dukungan untuk permintaan kedalaman tak terbatas MUNGKIN dinonaktifkan, karena masalah kinerja dan keamanan yang terkait dengan perilaku ini. Server HARUS memperlakukan permintaan tanpa header Kedalaman seolah-olah header
Klien dapat mengirimkan elemen XML
- Meminta nilai properti tertentu, dengan menamai properti yang diinginkan di dalam elemen
prop
(urutan properti di sini MUNGKIN diabaikan oleh server), - Meminta nilai properti untuk properti-properti yang didefinisikan di dalam spesifikasi ini (minimal) ditambah dengan properti yang sudah tidak ada, dengan menggunakan elemen
allprop (elemeninclude dapat digunakan denganallprop untuk menginstruksikan server agar menyertakan properti hidup tambahan yang mungkin tidak dikembalikan dengan cara lain), - Meminta daftar nama semua properti yang didefinisikan di sumber daya, dengan menggunakan elemen
propname .
Klien dapat memilih untuk tidak mengirimkan badan permintaan. Badan permintaan PROPFIND yang kosong HARUS diperlakukan seolah-olah itu adalah permintaan
Perhatikan bahwa allprop
atau tidak.
Semua server HARUS mendukung pengembalian respons jenis konten
Jika terjadi kesalahan dalam mengambil properti, maka hasil kesalahan yang tepat HARUS disertakan dalam respons. Permintaan untuk mengambil nilai properti yang tidak ada merupakan kesalahan dan HARUS dicatat dengan elemen XML
Karena itu, elemen XML
Properti mungkin tunduk pada kontrol akses. Dalam kasus permintaan
Beberapa hasil PROPFIND MUNGKIN disimpan dalam cache, dengan hati-hati, karena tidak ada mekanisme validasi cache untuk sebagian besar properti. Metode ini aman dan tidak berdaya (lihat Bagian 9.1 dari [RFC2616]).
Deskripsi metode PROPFIND
Contoh untuk metode HTTP PROPFIND
PROPFIND /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Depth: 1
Content-Type: text/xml; charset="utf-8"
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive
HTTP/1.1 207 Multi-Status
Content-Type: text/xml; charset="utf-8"
Content-Length: 453
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache