Pertama, mari kita bicara tentang cara kerja Asp.net.
Deskripsi spesifiknya adalah sebagai berikut: Pertama, pelanggan meminta halaman WEB. Kemudian layanan WEB mencari file instruksi (.aspx), dan ini ditangani oleh perpustakaan tautan dinamis aspnet_isapi.dll. Kode Asp.net kemudian dikirim ke runtime bahasa umum untuk kompilasi. Aliran HTML kemudian dikembalikan ke browser dan dipesan. Terakhir, browser memproses HTML dan menampilkan halaman.
Apa itu ISAPI?
Pada awal era Internet, kebutuhan klien sangat terbatas; hanya file .htm yang mereka perlukan. Namun, seiring berjalannya waktu, kebutuhan klien diperluas melampaui fungsionalitas yang terdapat dalam file .htm atau file statis.
Pengembang perlu memperluas atau memperluas fungsionalitas server web. Vendor server web telah merancang solusi yang berbeda, namun semuanya mengikuti tema yang sama yaitu memasukkan komponen tertentu ke dalam server Web. Semua teknologi tambahan server Web memungkinkan pengembang untuk membangun dan menyambungkan komponen untuk meningkatkan fungsionalitas server Web. Microsoft mengusulkan ISAPI (Internet Server API), Netscape mengusulkan NSAPI (Netscape Server API) dan seterusnya. ISAPI adalah teknologi penting yang memungkinkan kita meningkatkan kemampuan server Web yang kompatibel dengan ISAPI (IIS adalah server Web yang kompatibel dengan ISAPI). Kami menggunakan komponen berikut untuk mencapai hal ini:
1. Ekstensi ISAPI: Ekstensi ISAPI diimplementasikan menggunakan pustaka tautan dinamis Win32. Anda dapat menganggap ekstensi ISAPI sebagai aplikasi normal. Target pemrosesan ekstensi ISAPI adalah permintaan http.
2. Filter ISAPI: Setiap kali klien membuat permintaan ke server, permintaan tersebut harus melalui filter. Klien tidak perlu menentukan filter dalam permintaan, tetapi cukup mengirimkan permintaan ke server web, dan server web meneruskan permintaan tersebut ke filter yang relevan. Selanjutnya filter dapat mengubah permintaan, melakukan beberapa operasi login, dll.
Proses pemrosesan permintaan ASP.NET:
Proses pemrosesan permintaan ASP.NET didasarkan pada model pipa, di mana ASP.NET meneruskan permintaan http ke semua modul dalam pipa. Setiap modul menerima permintaan http dan memiliki kontrol penuh. Modul dapat menangani permintaan dengan cara apa pun yang mereka inginkan. Setelah permintaan melewati semua modul HTTP, permintaan tersebut akhirnya diproses oleh pengendali HTTP. Penangan HTTP melakukan beberapa pemrosesan atas permintaan dan hasilnya akan kembali melalui modul HTTP di dalam pipa.
Filter ISAPI:
IIS sendiri tidak mendukung halaman dinamis, artinya hanya mendukung konten halaman HTML statis, misalnya .asp, .aspx, .cgi, .php, dll., IIS tidak akan memproses tag tersebut, melainkan akan memperlakukannya. sebagai Teks komposisi dikirim ke klien tanpa pemrosesan apa pun. Untuk mengatasi masalah ini. IIS memiliki mekanisme yang disebut filter ISAPI, yang merupakan komponen standar (komponen COM).
Ketika layanan Asp.net mendaftar dengan IIS, ia akan mendaftarkan ekstensi file yang dapat ditangani oleh setiap ekstensi ke IIS (seperti: *.ascx, *.aspx, dll.). Setelah ekstensi dimulai, ia memproses file yang tidak dapat diproses oleh IIS sesuai dengan metode yang ditentukan, dan kemudian melompati kontrol ke proses yang secara khusus menangani kode, memungkinkan proses ini untuk mulai memproses kode, menghasilkan kode HTML standar, dan meletakkan kode-kode ini setelah pembuatan. Tambahkan ke Html asli, dan terakhir kembalikan Html lengkap ke IIS, lalu IIS mengirimkan konten ke klien.