Direkomendasikan: Tips ASP: Tingkatkan efisiensi menggunakan koleksi permintaan Mengakses koleksi ASP untuk mengekstraksi nilai adalah proses konsumsi sumber daya yang memakan waktu dan menghitung. Karena operasi ini berisi serangkaian pencarian untuk set terkait, ini jauh lebih lambat daripada mengakses variabel lokal. Jadi, jika Anda bermaksud menggunakan nilai dari koleksi permintaan beberapa kali di halaman
Permintaan dan respons adalah dua objek bawaan yang paling umum digunakan yang disediakan oleh ASP. Antara browser (atau agen pengguna lain) dan server web, pertukaran informasi yang terjadi dalam permintaan dan respons dapat diakses dan dikelola melalui dua objek bawaan di ASP, yang disebut objek permintaan dan respons.
Hampir semua pekerjaan yang harus dilakukan di halaman ASP membutuhkan akses ke kedua objek ini. Menggunakan dua objek ini akan mempengaruhi efisiensi dan keandalan halaman. Tentu saja, tujuan utama mereka adalah untuk mengakses nilai yang dikirim kembali ke server oleh pengguna, yaitu memperoleh dari segmen <Ecm> dari halaman HTML atau melampirkannya ke URL sebagai string kueri, dan membuat output yang tepat untuk kembali ke pengguna, dan mereka dapat berbagi banyak faktor yang sama. Misalnya, kedua objek dapat menggunakan cookie yang disimpan di komputer klien.
Oleh karena itu, kami membagi konten menjadi dua bagian independen (bagian dari masing -masing objek), dan pertama kali dimulai dengan pertukaran informasi antara klien dan server, dan kemudian mempelajari setiap objek.
Konten penelitiannya adalah:
· Bagaimana klien berkomunikasi dengan server untuk mengirimkan web atau sumber daya lainnya.
· Rincian objek permintaan dan respons, dan apa yang sama.
· Cara mengakses nilai yang sesuai melalui formulir dan string kueri.
· Cara membaca atau membuat cookie dan menyimpannya di komputer klien.
· Apa variabel server? Cara mengakses dan memodifikasi header HTTP.
· Jelaskan perubahan pada entri terkait lainnya, seperti penggunaan sertifikat pelanggan.
Komunikasi antara klien dan server
Untuk menghemat ruang, kata browser digunakan dalam konten berikut. Tetapi harus diingat bahwa aplikasi yang dapat mengakses halaman web tidak hanya browser, tetapi banyak aplikasi khusus mengunduh halaman web dari situs, seperti program klien khusus yang dirancang untuk mereka yang memiliki cacat visi atau mereka yang memiliki kesulitan lain menggunakan browser yang biasa. Contoh yang paling jelas adalah robot yang digunakan oleh mesin pencari untuk mengakses situs di web. Pertimbangkan faktor -faktor ini secara komprehensif, termasuk browser web biasa, kata yang tepat harus menjadi agen pengguna.
Permintaan Page Percakapan
Ketika browser membuat permintaan halaman ke situs web, itu jelas harus memberi tahu server halaman mana yang diminta. Hal pertama yang harus dilakukan adalah membuat koneksi ke server melalui nama domain, dan kemudian memberikan jalur lengkap dan nama halaman yang diminta. Mengapa Anda membutuhkan jalur dan nama lengkap? Web adalah lingkungan tanpa batas, jadi perlu membuat sesi untuk mengidentifikasi setiap klien (bagaimana ASP dapat melakukan ini nanti).
Ini berarti bahwa setiap kali server selesai mengirim halaman ke klien, server sepenuhnya melupakan klien. Jadi ketika klien meminta halaman berikutnya, itu persis sama dengan pengunjung baru. Server tidak dapat mengingat pelanggan ini, dan karenanya, tidak dapat menentukan halaman mana yang mereka minta terakhir kali. Karena, Anda tidak dapat menggunakan jalur relatif untuk menyediakan halaman, bahkan jika halaman berisi tautan relatif, misalnya:
< a href = http: //www.cuoxincom/download.asp> halaman berikutnya </a>
Browser akan secara otomatis membuat URL halaman baru yang lengkap dengan menggunakan domain dan jalur halaman saat ini; Atau gunakan elemen <Base> di bagian <head> halaman untuk memberi tahu browser apa URL semua tautan di halaman. Misalnya:
< basis herf = http: //www.cuoxin.com >
Saat mengarahkan mouse ke tautan ke halaman, itu dapat dilihat di bilah status browser. Jalur ke halaman saat ini dan domain saat ini atau domain dasar atau jalur dasar telah dikombinasikan dengan nama halaman yang diminta.
1. Rincian Permintaan Pelanggan
Kombinasi jalur lengkap dan nama halaman yang diminta adalah satu -satunya tempat tinggal server ketika browser meminta halaman. Permintaan browser juga dapat mencakup kediaman host browser dan sistem operasi yang dijalankan oleh klien. Konten informasi aktual akan berubah sesuai dengan browser, dan hanya sejumlah kecil yang dapat disediakan oleh aplikasi lain seperti robot mesin pencari. Untuk mendapatkan pemahaman yang lebih jelas tentang informasi ini, berikut adalah sepasang halaman yang dikeluarkan dari IE 5.0
Download.asp Informasi Permintaan:
7/8/99 10:27:16 Dikirim Get /store/Download.asp http/1.1
Terima: Aplikasi/MSword, Aplikasi/VND.MS-EXECL, Aplikasi/VND.MS-
PowerPoint, Image/GIF, Image/X-XBitmap, Image/JPEG, Image/PJPEG, Aplikasi/X-
komet, */ *
Penerimaan-bahasa: en-us
Pengkodean: Gzip, mengempis
Referensi: http://wwrox.com/main_menu.asp
Cookie: VisitCount = 2 & LastDate = 6/4/99 10:10:13 AM
Pengguna-agen: mozilla/4.0 (kompatibel; MSIE 5.0; Windows 98)
Host: 212.250.238.67
Koneksi: Keep-seive
Dari sini, dapat dilihat bahwa informasi tersebut berisi detail tentang agen pengguna dan koneksi pengguna (seperti bahasa default), serta daftar jenis file atau aplikasi yang dapat diterima, yang merupakan tipe MIME, dan Anda akan melihat lebih banyak nanti. Browser dapat menerima beberapa file gambar dan beberapa jenis file Microsoft Office. Jenis file standar seperti TESX/HTML dan teks/teks tidak tercantum di dalamnya. */* Dalam daftar file berarti semua jenis file dapat dikirim kembali ke browser, ditafsirkan oleh browser atau melalui aplikasi plug-in.
Cookie: Cookie yang terkandung dalam entri disimpan di komputer klien dan hanya berlaku untuk domain ini. Jika permintaan adalah hasil dari mengklik tautan, alih -alih langsung memasukkan URL di bilah alamat browser, referer: entri ditampilkan, yang berisi URL lengkap dari halaman tautan.
Host: Entri berisi alamat IP atau nama komputer klien. Namun, ini tidak cukup untuk mengidentifikasi klien secara akurat. Karena ketika mereka terhubung melalui ISP, alamat IP dialokasikan secara dinamis, atau ketika mereka terhubung melalui server proxy, alamat IP berasal dari proxy daripada dari klien yang sebenarnya.
2. Detail respons server
Untuk menanggapi permintaan di atas dan memberikan halaman yang diminta ke browser anonim (yaitu, pengguna tidak harus memberikan nama pengguna dan mengakses kata sandi), konten berikut dikirim dari server ke klien:
7/8/99 10:27:16 Menerima http/1.1 200 ok
Server: Microsoft-IIS/5.0
Koneksi: Keep-seive
Tanggal: Kamis, 8 Jul 1999 10:27:16 GMT
Tipe konten: teks/html
Receques-Rate: Bytes
Panjang konten: 2946
Modifikasi Terakhir: Kamis, 8 Jul 1999 10:27:16 GMT
Cookie: VisitCount = 3 & LastDate = 7/8/99 10:27:16 AM
< html >
... sisa halaman…
</html >
Dapat dilihat bahwa server menjelaskan perangkat lunak dan versi yang digunakannya untuk klien. Baris pertama menunjukkan bahwa protokol HTTP digunakan dan status kode pengembalian. Pesan 200 OK berarti bahwa permintaan itu diterima dan dipenuhi. Informasi berikut adalah rincian halaman yang dikembalikan, termasuk tipe MIME (panjang konten :), size (byte), waktu perubahan terakhir, dan cookie pengembalian yang disimpan oleh klien. Informasi lain dalam respons adalah aliran informasi konten halaman.
Dalam beberapa kasus, server tidak dapat mengembalikan halaman setelah menanggapi permintaan, mungkin karena halaman tidak ada, atau klien tidak memiliki izin yang sesuai untuk mengaksesnya. Kami akan membahas masalah keamanan nanti. Sekarang, untuk situasi di mana halaman permintaan tidak ada (misalnya, pengguna memasukkan URL yang salah di bilah alamat browser), informasi yang dikembalikan dimulai dengan:
7/8/99 14:27:16 Menerima http/1.1 404 tidak ditemukan
Server: Microsoft-IIS/5.0
...
Di sini, kode status dan informasi menunjukkan bahwa halaman yang diminta oleh klien tidak dapat ditemukan. Browser dapat menggunakan informasi ini untuk menampilkan informasi yang sesuai kepada pengguna (dalam hal ini, dalam IE 5.0, informasi respons server tidak ditampilkan, tetapi halaman prompt kesalahan yang sesuai) atau halaman default yang dibuat oleh server (tergantung pada pengaturan server). Objek permintaan dan respons
Rincian untuk dapat menerapkan permintaan klien dan respons server dari ASP diimplementasikan melalui objek permintaan dan respons bawaan ASP.
· Objek Permintaan: Menyediakan skrip dengan semua informasi yang disediakan oleh klien ketika klien meminta halaman atau melewati formulir. Ini termasuk variabel HTTP yang dapat menunjukkan browser dan pengguna, cookie yang disimpan di browser di bawah nama domain ini, nilai kontrol HTML apa pun yang dilampirkan sebagai string kueri ke string setelah URL atau bagian <Ecom> halaman. Akses resmi menggunakan Secure Socket Layer (SSL) atau protokol komunikasi terenkripsi lainnya, serta atribut yang membantu mengelola koneksi.
· Objek Respons: Digunakan untuk mengakses informasi respons yang dibuat oleh server dan dikirim kembali ke klien. Memberikan variabel HTTP untuk skrip yang menunjukkan fungsi server dan server dan informasi tentang konten yang dikirim kembali ke browser, serta cookie baru yang akan disimpan di browser untuk domain ini. Ini juga menyediakan berbagai metode untuk membuat output, seperti respons di mana -mana. Metode penulisan.
1. Gambaran Umum Anggota Objek Permintaan
a) kumpulan objek permintaan
Objek permintaan menyediakan 5 koleksi yang dapat digunakan untuk mengakses berbagai informasi yang diminta oleh klien ke server web. Koleksi ini adalah sebagai berikut:
Pengumpulan dan deskripsi objek permintaan
| Nama Koleksi | menjelaskan |
| ClientCertificate | Ketika klien mengakses halaman atau sumber daya lain, set numerik dari semua bidang atau entri sertifikat klien yang digunakan untuk menunjukkan identitas ke server, setiap anggota hanya baca-baca |
| Cookie | Menurut permintaan pengguna, kumpulan semua cookie yang dikeluarkan oleh sistem pengguna. Cookie ini hanya berlaku untuk domain yang sesuai, dan setiap anggota hanya baca |
| Membentuk | Ketika nilai atribut metode adalah posting, setiap anggota hanya baca untuk semua set nilai unit kontrol HTML di bagian <Ecrom> yang dikirimkan sebagai permintaan. |
| Querystring | Setiap anggota hanya baca untuk nilai semua unit kontrol HTML dalam <sorm>, tergantung pada pasangan nama/nilai setelah URL yang diminta oleh pengguna atau dikirimkan sebagai permintaan dan atribut metode didapat (atau atributnya dihilangkan), atau nilai semua unit kontrol HTML dalam <sormu |
| Servervariable | Kumpulan nilai header http yang dikeluarkan oleh permintaan klien dan nilai beberapa variabel lingkungan dari server web, setiap anggota hanya baca-baca |
b) Properti Objek Permintaan
Properti unik dan deskripsi objek permintaan ditampilkan di tabel berikut. Ini memberikan informasi tentang jumlah byte yang diminta oleh pengguna. Jarang digunakan di halaman ASP. Kami biasanya fokus pada nilai yang ditentukan daripada seluruh string permintaan.
| milik | menjelaskan |
| Totlbytes | Hanya baca, mengembalikan seluruh jumlah byte dari permintaan yang dikeluarkan oleh klien |
c) Metode objek permintaan
Satu -satunya metode dan deskripsi objek permintaan ditampilkan di tabel berikut, yang memungkinkan akses ke konten lengkap dari bagian permintaan pengguna yang diteruskan ke server dari segmen <Morm>.
Metode dan deskripsi objek permintaan
| metode | menjelaskan |
| BinaryRead (Count) | Ketika data dikirim ke server sebagai bagian dari permintaan POST, penghitungan byte data diperoleh dari permintaan klien dan varian array (atau SafeArray) dikembalikan. Jika kode ASP sudah merujuk koleksi permintaan.Form, metode ini tidak dapat digunakan. Pada saat yang sama, jika metode BinaryRead digunakan, koleksi permintaan. Bentuk tidak dapat diakses |
2. Gambaran Umum Anggota Objek Respons
a) kumpulan objek respons
Objek respons hanya memiliki satu koleksi, seperti yang ditunjukkan pada tabel berikut, yang menetapkan nilai cookie yang ingin Anda tempatkan pada sistem klien, yang secara langsung setara dengan koleksi permintaan.
Pengumpulan dan deskripsi objek respons
| Nama Koleksi | menjelaskan |
| Cookie | Dalam tanggapan saat ini, nilai semua cookie yang dikirim kembali ke klien, set ini hanya menulis |
b) sifat objek respons
Objek respons juga menyediakan serangkaian properti yang dapat dibaca (dalam kebanyakan kasus) dan dimodifikasi sehingga respons dapat disesuaikan dengan permintaan. Ini ditetapkan oleh server dan kami tidak perlu mengaturnya. Perlu dicatat bahwa ketika mengatur sifat -sifat tertentu, sintaksis yang digunakan mungkin berbeda dari apa yang biasa digunakan.
Properti dan deskripsi objek respons
| milik | menjelaskan |
| Buuffer = true | false | Baca/Tulis, Boolean, menunjukkan apakah output yang dibuat oleh halaman ASP disimpan dalam buffer IIS sampai semua skrip server pada halaman saat ini diproses atau metode flush dan akhir dipanggil. Properti ini harus ditetapkan sebelum output apa pun (termasuk informasi pelaporan HTTP) dikirim ke IIS. Oleh karena itu, dalam file .asp, pengaturan ini harus berada di baris pertama setelah pernyataan <%@language = ...%>. ASP 3.0 Buffering default aktif (true), sedangkan di versi sebelumnya tidak dimatikan (false) |
| CachecontrolSetting | Baca/Tulis, Jenis Karakter, atur properti ini ke publik untuk memungkinkan server proxy untuk menangani halaman. Jika itu pribadi, itu melarang server proxy untuk cache. |
| Charset = nilai | Baca/Tulis, Jenis Karakter, Lampirkan Nama Set Karakter yang digunakan dalam header tipe konten HTTP yang dibuat oleh server untuk setiap respons (misalnya: iso-latin-7) |
| Jenis Konten = tipe MIME | Baca/Tulis, Jenis Karakter, tentukan jenis konten HTTP dari respons, dan tipe MIME standar (seperti teks/xml atau gambar/gif). Jika default, itu berarti bahwa Mime Type Text/HTML digunakan, dan tipe konten memberi tahu browser jenis konten yang diharapkan. |
| Kedaluwarsa menit | Baca/tulis, tipe numerik, menunjukkan lamanya waktu halaman ini valid dalam hitungan menit. Jika pengguna meminta halaman yang sama sebelum kedaluwarsa periode validitas, konten dalam buffer tampilan akan dibaca secara langsung. Setelah periode yang valid ini, halaman tidak akan lagi disimpan dalam buffer pribadi (pengguna) atau publik (proxy). |
| Kedaluwarsa #date absolute [waktu] # | Baca/Tulis, Jenis Tanggal/Waktu, menunjukkan tanggal dan waktu absolut ketika halaman berakhir dan tidak lagi valid |
| ISClientConnected | Baca saja, Boolean, mengembalikan bendera status apakah klien masih terhubung dan diunduh. Sebelum halaman saat ini telah dijalankan, jika klien ditransfer ke halaman lain, bendera ini dapat digunakan untuk membatalkan pemrosesan (menggunakan metode respons.End) |
| Foto (foto-label-string) | Tulis saja, tipe karakter, buat header foto untuk menentukan tingkat kosa kata dalam konten halaman, seperti kekerasan, seks, bahasa yang buruk, dll. |
| Status = pesan kode | Baca/Tulis, Jenis Karakter, Nilai Status, dan Informasi yang menunjukkan apakah header HTTP yang dikirim kembali ke respons klien menunjukkan apakah kesalahan atau pemrosesan halaman berhasil. Misalnya 200 OK dan 404 tidak ditemukan |
c) Metode objek respons
Objek respons menyediakan serangkaian metode, seperti yang ditunjukkan pada tabel berikut, memungkinkan pemrosesan langsung konten halaman yang dibuat untuk dikembalikan ke klien.
Metode dan deskripsi objek respons
| metode | menjelaskan |
| Addheader (nama, konten) | Buat header HTTP khusus dengan menggunakan nilai dan nilai konten dan tambahkan ke respons. Header yang ada dengan nama yang sama tidak dapat diganti. Setelah header ditambahkan, itu tidak dapat dihapus. Metode ini harus digunakan sebelum konten halaman apa pun (mis. Teks dan HTML) dikirim ke klien |
| AppendTolog (String) | Saat menggunakan format file format file log W3C Extended, tambahkan entri ke file log server web yang diminta oleh pengguna. Setidaknya memerlukan URL STEM untuk dipilih di halaman Properties Extended Situs yang berisi halaman |
| Binarywrite (SafeArray) | Tulis SafeArray tipe varian dalam aliran output HTTP saat ini tanpa konversi karakter apa pun. Ini sangat berguna untuk menulis informasi non-string, seperti data biner yang diminta oleh aplikasi khusus atau byte biner yang membentuk file gambar |
| Jernih() | Ketika response.Buffer benar, hapus konten halaman buffer yang ada dari buffer respons IIS. Tetapi header respons HTTP dapat digunakan untuk meninggalkan halaman yang diselesaikan sebagian |
| Akhir() | Biarkan ASP mengakhiri skrip untuk memproses halaman dan mengembalikan konten yang saat ini dibuat, dan kemudian meninggalkan pemrosesan halaman lebih lanjut |
| Menyiram() | Kirim semua halaman buffered saat ini di buffer IIS ke klien. Saat respons.buffer benar, itu dapat digunakan untuk mengirim bagian dari konten halaman yang lebih besar kepada masing -masing pengguna |
| Redirect (URL) | Dengan mengirim objek 302 yang dipindahkan header di respons, browser menginstruksikan halaman alamat yang sesuai sesuai dengan URL string |
| Tulis (string) | Tulis karakter yang ditentukan dalam aliran informasi respons http saat ini dan buffer IIS untuk menjadikannya bagian dari halaman pengembalian |
Bagikan: Kontak Lengkap dengan Aplikasi Prosedur Tersimpan dalam Pengembangan ASP Ada banyak artikel tentang ASP dan prosedur tersimpan, tetapi saya ragu para penulis benar -benar mempraktikkannya. Saya membaca banyak informasi yang relevan ketika saya masih di awal dan menemukan bahwa banyak metode yang diberikan tidak terjadi dalam praktiknya. Untuk aplikasi sederhana, data ini