Isolasi Proses

HTTP Server versi 2.0 API menyediakan kemampuan untuk membangun layanan yang lebih aman dan lebih andal dengan mengisolasi proses pekerja yang melayani permintaan pada antrean permintaan. Antrean permintaan dibuat dan dikelola oleh pengontrol atau proses pembuat yang secara ketat mengontrol akses ke dalamnya. Proses pengontrol meluncurkan satu atau beberapa proses pekerja terpisah yang melakukan I/O pada antrean permintaan. Proses pengontrol berjalan dengan hak istimewa admin dan mengonfigurasi antrean permintaan, sementara pekerja hak istimewa yang lebih rendah memproses akses dan permintaan layanan dari antrean permintaan. Arsitektur ini mendukung kebijakan aplikasi yang berjalan di bawah "hak istimewa paling sedikit" dan mengurangi kemungkinan kerentanan keamanan yang diperkenalkan oleh kode pihak ketiga yang mungkin berjalan dalam proses pekerja.

Akses ke antrean permintaan diberikan ketika proses pengontrol membuat antrean permintaan dengan nama dan Daftar Access Control (ACL). Aplikasi web yang disertakan dalam ACL dapat membuka antrean permintaan yang ada berdasarkan nama. Proses pembuat mungkin juga merupakan proses pekerja pada antrean permintaan. Untuk informasi selengkapnya, lihat topik Antrean Permintaan Bernama . Diagram berikut menunjukkan arsitektur aplikasi HTTP khas yang berjalan dengan model proses pekerja:

Diagram yang menunjukkan arsitektur aplikasi H T T P menggunakan model proses pekerja.

Proses pekerja individu dalam aplikasi diisolasi dari proses pekerja lain, dan kesehatan setiap proses pekerja dapat dipantau oleh proses pengontrol. Proses pengontrol diisolasi dari proses pekerja. Komponen arsitektur HTTP dijelaskan di bawah ini:

  • Proses pembuat atau pengontrol: Proses pengontrol dapat berjalan dengan, atau tanpa, hak administratif untuk memantau kesehatan dan mengonfigurasi layanan. Proses pengontrol biasanya membuat sesi server tunggal untuk layanan dan menentukan grup URL di bawah sesi server. Grup URL yang dikaitkan dengan URL tertentu menentukan layanan antrean permintaan mana yang ditandai oleh URL tertentu. Proses pengontrol juga membuat antrean permintaan dan meluncurkan proses pekerja yang dapat mengakses antrean permintaan.
  • Proses Pekerja: Proses pekerja, yang diluncurkan oleh proses pengontrol, melakukan IO pada antrean permintaan yang terkait dengan URL yang mereka layanan. Aplikasi web diberikan akses ke antrean permintaan oleh proses pengontrol di ACL saat antrean permintaan dibuat. Kecuali aplikasi web juga merupakan proses pembuat, aplikasi tidak mengelola layanan atau mengonfigurasi antrean permintaan. Proses pengontrol mengkomunikasikan nama antrean permintaan ke proses pekerja dan proses pekerja membuka antrean permintaan berdasarkan nama. Proses pekerja dapat memuat aplikasi web pihak ketiga tanpa memperkenalkan kerentanan keamanan di bagian lain aplikasi.
  • Antrean Permintaan: Antrean permintaan dibuat dan dikonfigurasi oleh proses pengontrol. Pengontrol menentukan proses yang diizinkan mengakses antrean permintaan di ACL saat antrean permintaan dibuat.
  • Sesi Server: Proses pengontrol biasanya membuat dan mengonfigurasi satu sesi server untuk aplikasi. Sesi server mempertahankan properti konfigurasi untuk seluruh aplikasi. Grup URL dibuat di bawah sesi server oleh proses pengontrol.
  • Grup URL: Proses pengontrol membuat grup URL di bawah sesi server, dan mengonfigurasi grup URL yang independen dari sesi server. URL ditambahkan ke grup oleh proses pengontrol. Permintaan dirutekan ke antrean permintaan yang dikaitkan dengan grup URL.