Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana server menangani permintaan layanan web dari banyak klien

Ini untuk konsep umum, bukan khusus Android

Biasanya, setiap pengguna mengirimkan permintaan HTTP untuk halaman tersebut. Server menerima permintaan dan mendelegasikannya ke pekerja yang berbeda (proses atau utas).

Bergantung pada URL yang diberikan, server membaca file dan mengirimkannya kembali ke pengguna. Jika file tersebut adalah file dinamis seperti file PHP, file tersebut akan dieksekusi sebelum dikirim kembali ke pengguna.

Setelah file yang diminta telah dikirim kembali, server biasanya menutup koneksi setelah beberapa detik.

Lihat Cara Kerja Server Web

EDIT:

Untuk HTTP menggunakan TCP yang merupakan protokol berbasis koneksi. Artinya, klien membuat koneksi TCP saat mereka berkomunikasi dengan server.

Beberapa klien diizinkan untuk terhubung ke port tujuan yang sama pada mesin tujuan yang sama secara bersamaan. Server hanya membuka beberapa koneksi simultan.

Apache (dan sebagian besar server HTTP lainnya) memiliki modul multi-pemrosesan (MPM). Ini bertanggung jawab untuk mengalokasikan utas/proses Apache untuk menangani koneksi. Proses atau utas ini kemudian dapat berjalan secara paralel pada koneksi mereka sendiri, tanpa memblokir satu sama lain. MPM Apache juga cenderung tetap membuka utas atau proses "cadangan" meskipun tidak ada koneksi yang terbuka, yang membantu mempercepat permintaan berikutnya.

Catatan:

Salah satu masalah paling umum dengan multi-threading adalah "kondisi balapan"-- di mana kalian berdua meminta melakukan hal yang sama ("berlomba" untuk melakukan hal yang sama), jika itu adalah satu sumber daya, salah satunya akan menang. Jika mereka berdua memasukkan record ke dalam database, mereka berdua tidak bisa mendapatkan id yang sama-- salah satu dari mereka akan menang. Jadi, Anda harus berhati-hati saat menulis kode untuk menyadari bahwa permintaan lain sedang berlangsung pada saat yang sama dan dapat memodifikasi database Anda, menulis file, atau mengubah global.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa cara terbaik untuk mengontrol versi prosedur tersimpan server SQL saya?

  2. Cara cepat menulis Select Query di SQL Server - Tutorial SQL Server / TSQL Bagian 108

  3. Bagaimana saya bisa menjalankan .sql dari C#?

  4. Perbandingan Teknis:Microsoft Access 2016 vs SQL Server 2016

  5. Pro vs. Kontra Menerapkan Lingkungan Cloud Hibrida