Klasik ASP sunucu nesnelerinden server ve response nesnelerinin metodları
Response Nesnesin metodları
AddHeader
HTTP başlık(header) bilgisine başlık bilgisi ekler, önceki bilgileri değiştirmek için kullanılamaz.
Başlık bilgisi, bir kere eklendi mi silinemez. Başlık bilgisi sayfanın içeriğinden önce gönderilir bu yüzden
ya başlık bilgisini içerikten önce göndermelisiniz,
yada sayfayı tampon belleğe almalısınız
response.addheader isim, değer
isim : değer :
response.addheader “DURUM”, “Normal”
Header bilgileri aşağıdaki gibi olabilir.
Mavi olan kısım AddHeader yöntemiyle eklenmiştir.
HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Date: Wed, 23 Jan 2002 20:08:35 GMT
DURUM: Normal
Connection: Keep-Alive
Content-Length: 6511
Content-Type: text/html
Set-Cookie: ASPSESSIONIDFFFECYZT=AMKNPCIDNEBALCJCBIHDNBID; path=/
Cache-control: private
AppendToLog
sunucu günlüğüne (server log) kayıt edilecek satıra metin ekler
response.AppendToLog metin
metin :
günlük dosyasına eklenecek metin
ASP kodu
response.appendtolog “deneme”
günlük kaydına aşağıdaki gibi olabilir. 127.0.0.1 – – [23/Jan/2002:21:45:51 +0200] “GET / deneme HTTP/1.1” 200 2407
- PWS ‘yi açın
- gelişmiş sekmesine tıklatın
- “web bölgesi etkinlik günlüğü” ‘nü işaretleyin
BinaryWrite
Veriyi herhangi bir karakter dönüşümü yapmadan gönderir.
Resim gibi karakter olmayan verileri göndermek için kullanabilirsiniz.
response.BinaryWrite veri
veri :
gönderilecek veri
‘ …………
‘bu kısımda bir veri tabanından rs adlı bir kayıt aldığımız varsayıyoruz.
‘ ………… resim = rs(“resim”) response.BinaryWrite resim
Buffer
Verinin gönderilemden önce tampon belleğe alınıp alınmayacağını beliritir. veriler tamponlanırsa(buffering), sunucu sayfadaki işlemleri bitirene kadar bekler,
tamponlanmazsa sonuçlar üretildiği anda gönderilmeye başlanır. Flush yada End yöntemleri kullanılırsa tampon bellekteki veriler gönderilir. Veriler gönderildikten sonra buffer değerini değiştiremezsiniz.
Herhangi bir bilgi gönderilmeden önce, tercihen sayfanın başında sunucuya
sayfanın tamponlanıp tamponlanmayacağını bildirmelisiniz.
response.buffer = işaret
işaret :
tamponlanmanın yapılıp yapılmayacağını belirten işaret, doğru yada yanlış değerini alabilir.
TRUE : Veriler tampon belleğe alınmaz.Sonuçlar üretildiği anda gönderilir. FALSE : Veriler işlem bitinceye yada Flush veya End yöntemleri kullanılıncaya kadar tampon bellekte bekletilir.
Farkı anlamak için bu kodları her iki durum için de test edin.
kod1
response.buffer = true
for i = 1 to 100
response.write “
” & i
for j= 1 to 20000
next
next
kod2
response.buffer = FALSE for i = 1 to 100
response.write “
” & i
for j= 1 to 20000
next
next
CacheControl
Proxy sunucuların gönderilen sayfayı ön bellekte tutup tutamayacğını bildiren başlık(header) bilgisini gönderir.
response.CahceControl = veri
veri :
“Public” yada “Private” olmalıdır.
“Public” olursa proxy sunucular sayfayı ön belleğe alabilir,
“Private” olursa proxy sunucular sayfayı ön belleğe almaz.
Varsayılan olarak “Private” durumundaır,
response.CahceControl = “Public”
Header bilgileri aşağıdaki gibi olabilir.
Mavi olan kısım AddHeader yöntemiyle eklenmiştir. HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Date: Thu, 24 Jan 2002 02:15:58 GMT
Content-Type: text/html
Set-Cookie: ASPSESSIONIDFFFECYZT=MMKNPCIDINLFKLKDAAPGHNNF; path=/
Cache-control: Public
Charset
Charset özelliği, başlık bilsininin “content-type:” bölümüne karakter seti bilgini ekler.
karakter seti bilgisinin geçerli olup olmadığna bakmaz,
aynı sayfada birden fazla kere kullanılırsa en son yazılan geçerlidir.
response.charset = karakter seti bilgi
karakter seti bilgi
geçerli sayfa için kullanılcak karakter seti bilgisi,
ÖRNEK:
Aşağıdaki kod tarayıcının(browser) geçerli sayfada türkçe karakter kullanılması gerektiğini bildiren bir satırı HTTP çıkışına gönderir.
response.charset = “windows-1254”
Gönderilen başlık bilgileri (header) aşağıdaki gibi olabilir
Mavi ile yazılan satır response.charset yöntemiyle üretilmiştir.
HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Date: Thu, 24 Jan 2002 02:14:26 GMT
Content-Type: text/html; Charset=windows-1254
Set-Cookie: ASPSESSIONIDFFFECYZT=LMKNPCIDEJGAILAEADPCOIIH; path=/
Cache-control: private
Clear
tampon bellekteki veriyi temizler, başlık (Header) bilgisini temizlemez
eğer ön bellk açık değil ise (Response.Buffer = TRUE) hata meydana gelir.
response.clear
response.clear
ContentType
Gönderilen verinin ContentType (içerik tipi) bilgisini belirler.
ContentType, tip/altsınıf tip olarak tanımlanır, varsayılan text/html dir.
response.ContentType = içerik tipi
içerik tipi :
geçerli bir içerik tipi bilgisi.ASP verinin geçerli bir içerik tipi olup olmadığına bakmaz.
ÖRNEK:
‘— cmd’nin bir veritabanından içinde resim adıyla tanımlı
‘— resimlerinde bulunduğu kayıtları
‘— getiren SQL komutu olduğunu varsayıyoruz.
Set RS=Conn.Execute(cmd)
Response.ContentType = “image/jpeg”
Response.BinaryWrite RS(“resim”)
Content type konusunda daha detaylı bilgi için “HTTP tanımlaması”‘na bakınız.
Bazı content-type bilgiler:
text/html : html belgesi
text/css : css belgesi
image/jpeg : jpeg resmi
image/gif : gif resmi
End
yürütülmekte olam işlemleri durdurur, eğer tamponlama yapılıyorsa (Response.Buffer = TRUE ise)
tampon bellekteki veriyi http çıkışına gönderir.End yöntemini kullandığınızda veri gönderilmemesini
istiyorsanız önce veriyi tampon belleğe alın(response.buffer = true) ve end yöntemini kullanmadan
önce tampon belleği temizleyin.(response.clear)
Tampon bellek için response.Buffer bölümüne bakınız
response.end
Örnek:
Response.Buffer = TRUE
response.write “merhaba ziyaretçi”
if uyelik = FALSE then response.end
response.write “burada sayfanın devamı var”
Sonuç:
merhaba ziyaretçi
“burada sayfanın devamı var” kısmı yazılmadı
Expires
Sayfanın ne kadar süre ön bellekte (cache) tutulması gerektiğini belirtir.
Sayfa önbellekte tutulması gereken süre içinde tekrar ziyaret edilirse önbelekteki sayfa görüntülenir.
Aynı sayfada birden fazla defa kullanılırsa en kısa olanı geçerli kabul edilir.
response.Expires = [ süre ]
süre :
Sayfan önbellekte tutulması gereken dakika cinsinden süre.
Süre sıfır ise sayfa önbellekte tutulmaz.
response.Expires = 0
Flush
Eğer tampon bellek açık ise, tampon bellekteki veriyi gönderir.aksi halde hata meydana gelir.
Tampon bellek için response.Buffer bölümüne bakınız
response.flush
IsClientConnected
istemcinin web sunucuba bağlı olup olmadığını bildirir.sadece okunur bilgi
response.IsClientConnected()
değişken = response.IsClientConnected
ÖRNEK:
durum = response.IsClientConnected
response.write durum
sonuç:
True
Redirect
istemciye istenen sayfanın başka yere taşındığını ve yaşındığı yeri bildiren mesaj gönderir
bir çok tarayıcı bu mesajı aldığında belirtilen adrese yönlenir.
Sözdizimi
response.redirect url
url :
internet adresi (Uniform Resouce Locator)
ÖRNEK
response.redirect “asp.kutuphanesi.com”
redirect yöntemi kullanıldığında sunucu başlık (header) bilgilerine şunları ekler.
HTTP/1.1 302 Object moved
Location: [..url….]
Status
Status özelliği, sunucu tarafından üretilen durum bilgisini verir.
Bu özelliğini kullanarak durum bilgisini değiştirebilirsiniz. Bazı durum kodları:
200 OK , normal durum
404 Nesne Bulunamadı
403 Erişim Yasak
response.Status = durum
durum :
sunucu durum bilgisi. 3 haneli rakam ve tanımlayıcı metinden oluşur,
daha fazla bilgi için “HTTP tanımlaması” na bakınız
response.Status = “401 Unauthorized”
Server Nesnesin metodları
CreateObject
ASP sayfasında, bir sunucu nesnesi tanımlamak için kullanılır.
server.CreateObject( nesne )
nesne : kullanılacak nesnenin adı.
Aşağıdaki örnek ADO kayıt kümesi tanımlar
Set rs = server.CreateObject(“ADODB.Recordset”)
HTMLEncode
Belirtilen veriye HTML kodlması yöntemini uygular.Bu yöntem veriyi tarayıda yorumlanmamış şeklini görmenize imkan verir.
server.HTMLEncode (veri)
veri :
HTML kodlaması uygulanacak veri
response.write “Bold etiketi :“
response.write server.HTMLEncode (“<b>”)
Yukarıdaki örmekte, birinci satırdaki veri tarayıcıda yorumlanır, ikinci satırdaki veri aynen görüntülenir. ASP bu sonucu üretir.
Bold etiketi : <b>Bold etiketi :<b><b> tarayıda böyle görünür:
Bold etiketi :<b>
Mappath
Belirtilen sanal yada izafi adresin disk üzerindeki gerçek konumunu verir.
server.mappath path
Örnek
response.write server.mappath(“/asp”) SitelerC:\Inetpub\wwwroot\asp
ScriptTimeOut
Sayfadaki asp kodlarının çalışmasına izin verilen en uzun süre
bu süre sonunda uygulamanın çalışması sona erdirilir,ve ScriptTimeOut hatasaı verir.
Bu değer, sistem kaydında ,(registry) belirtilen değerden küçük olamaz.
Varsayılan olarak 90 saniyedir.
server.ScriptTimeOut = süre
süre
saniye saniye
server.ScriptTimeOut = 120
script zaman aşımı süresini 120 saniye olarak beliritr.
URLEncode
Belirtilen veriye URL kodlaması yöntemini uygular
server.UrlEncode(url)
url: internet adresi (Uniform Resourcr Locator)
response.write “asp.kutuphanesi.com”
response.write server.UrlEncode(“asp.kutuphanesi.com”)
Bir yanıt bırakın
Yorum yapabilmek için giriş yapmalısınız.