Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
API HTTP Server versi 2.0 bernama fitur antrean permintaan memungkinkan beberapa aplikasi, beroperasi di bawah proses terpisah dan akun pengguna, akses ke antrean permintaan. Antrean permintaan dibuka berdasarkan nama, dan diamankan menggunakan Daftar Kontrol Akses (ACL) untuk memastikan bahwa aplikasi tidak dapat mengakses setiap data lainnya. Satu proses membuat antrean permintaan, dan memberikan izin ke proses lain untuk menggunakan antrean permintaan. Dengan demikian, proses lain di komputer mengakses antrean permintaan dengan hak istimewa paling sedikit yang diperlukan untuk permintaan layanan. Kemungkinan kerusakan pada layanan HTTP, karena kerentanan dalam kode pihak ketiga, diminimalkan ketika aplikasi berjalan di bawah hak istimewa paling sedikit.
Antrean permintaan bernama dibuat dengan fungsiHttpCreateRequestQueue. Saat antrean permintaan dibuat, aplikasi menentukan ACL dalam parameter pSecurityAttribute. ACL, yang hanya dapat diatur ketika antrean permintaan dibuat, memungkinkan proses pekerja untuk membuka antrean permintaan, menerima permintaan, dan mengirim respons. Secara default, proses tidak diizinkan untuk membuka antrean permintaan kecuali telah diberikan izin di ACL. Aplikasi tidak memerlukan hak administratif untuk membuat antrean permintaan.
Antrean permintaan harus dibuat dengan nama yang ditentukan dalam parameter pName HttpCreateRequestQueue untuk proses lain guna membuka antrean permintaan. Jika pNameNULL, antrean permintaan yang tidak disebutkan namanya dibuat dan tidak ada proses lain yang dapat membukanya.
Proses Pembuat dan Pengontrol
Saat antrean permintaan dibuat, aplikasi dapat membukanya sebagai proses pengontrol atau proses pembuat. Pengontrol dan pembuat memproses keduanya bertindak sebagai administrator untuk antrean permintaan, tetapi pengontrol tidak melakukan operasi I/O di atasnya. Aplikasi menunjukkan bahwa itu adalah proses pengontrol ketika antrean permintaan dibuat dengan menentukan HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER dalam parameter BenderaHttpCreateRequestQueue. Jika bendera HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER tidak diatur, aplikasi adalah proses pembuat.
Daftar berikut berisi tugas yang dilakukan oleh proses pengontrol dan proses pembuat:
- Buat antrean permintaan dan tentukan nama.
- Konfigurasikan antrean permintaan menggunakan fungsiHttpSetRequestQueueProperty.
- Kueri parameter konfigurasi antrean permintaan menggunakan fungsiHttpQueryRequestQueueProperty.
- Buat Grup URL dan kaitkan dengan antrean permintaan.
- Atur ACL yang menentukan proses pekerja yang diizinkan untuk menerima I/O pada antrean permintaan.
- Panggil HttpWaitForDemandStart untuk menunda instans proses pekerja hingga permintaan pertama tiba pada antrean permintaan.
Selain tugas-tugas ini, proses pembuat juga dapat melakukan operasi I/O pada antrean permintaan.
Proses Pekerja
Proses pekerja dapat membuka antrean permintaan yang ada hanya jika mereka telah diberikan akses ke dalamnya di ACL. Proses pekerja yang beroperasi di bawah hak istimewa paling sedikit dapat membuka antrean permintaan dan melakukan I/O di atasnya. Aplikasi membuka antrean permintaan yang ada dengan memanggil httpCreateRequestQueue dengan HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING dalam parameter Bendera, dan nama antrean permintaan dalam parameter pName.
Proses pekerja melakukan fungsi berikut:
- Menerima permintaan dan mengirim respons pada antrean permintaan.
- Buka antrean permintaan yang ada berdasarkan nama. Handel ke antrean permintaan yang dikembalikan ke proses pekerja tidak dapat digunakan untuk mengonfigurasi antrean permintaan.
- Kueri parameter konfigurasi antrean permintaan.
Diagram berikut menunjukkan model proses pekerja untuk antrean permintaan. Antrean permintaan dapat memiliki beberapa proses pekerja yang memproses I/O, dan satu proses pembuat yang mengonfigurasi antrean permintaan.