Saya sedang menulis modul RESTful API untuk aplikasi di PHP, dan saya agak bingung dengan kata kerja HEAD
dan OPTIONS
.
OPTIONS
Digunakan untuk mengambil kata kerja HTTP yang tersedia untuk sumber daya tertentu?HEAD
Digunakan untuk menentukan apakah suatu sumber daya tersedia?
Jika seseorang dapat mengklarifikasi * kata kerja ini, itu akan sangat dihargai.
* Klarifikasi sehubungan dengan arsitektur RESTful API yang menggunakan kembali kata kerja HTTP. Saya sudah sejak datang ke realisasi bahwa kedua HEAD
dan OPTIONS
harus tidak menjadi re-bertujuan, dan sebagai gantinya berperilaku diduga sebagai aplikasi HTTP seharusnya. Oh, betapa kita tumbuh dalam 2 tahun.
Jawaban:
Sesuai: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
sumber
CONNECT
kata kerja. Apakah itu pilihan yang buruk untuk menggunakan metode itu untuk otentikasi RESTful?CONNECT
cara tunneling SSL, tetapi bayangkan apa yang akan terjadi jika konsumen aplikasi Anda memiliki proxy yang diimplementasikanCONNECT
dengan cara yang ditentukan di RFC, permintaan mungkin tidak diteruskan ke Anda. aplikasi.OPTIONS
metode mengembalikan info tentang API (metode / tipe konten)HEAD
metode mengembalikan info tentang sumber daya (versi / panjang / jenis)Respons server
PILIHAN
HTTP/1.1 200 OK Allow: GET,HEAD,POST,OPTIONS,TRACE Content-Type: text/html; charset=UTF-8 Date: Wed, 08 May 2013 10:24:43 GMT Content-Length: 0
KEPALA
HTTP/1.1 200 OK Accept-Ranges: bytes Content-Type: text/html; charset=UTF-8 Date: Wed, 08 May 2013 10:12:29 GMT ETag: "780602-4f6-4db31b2978ec0" Last-Modified: Thu, 25 Apr 2013 16:13:23 GMT Content-Length: 1270
Berikut adalah artikel yang bagus dan ringkas tentang bagaimana HEAD dan OPTIONS cocok dengan arsitektur RESTful.
sumber
OPTIONS memberi tahu Anda hal-hal seperti "Metode apa yang diizinkan untuk sumber daya ini".
HEAD mendapatkan header HTTP yang akan Anda dapatkan jika Anda membuat permintaan GET, tetapi tanpa isi. Ini memungkinkan klien menentukan informasi cache, tipe konten apa yang akan dikembalikan, kode status apa yang akan dikembalikan. Ketersediaannya hanya sebagian kecil saja.
sumber
OPTIONS
Itulah yang saya pikirkan, dan implementasi seperti itu akan mudah dengan pendekatan saya yang ada. Sesuai kutipan RFC sdolgy,OPTIONS
tidak mendefinisikan standar dalam format. Apakah diasumsikan format respon sama dengan respon lainnya? ( mis.; JSON, XML, dll. )