Giriş yapmadınız.

Sayın ziyaretçi, AllaTurkaa sitesine hoş geldiniz. Eğer buraya ilk ziyaretiniz ise lütfen yardım bölümünü okuyunuz. Böylece bu sitenin nasıl çalıştığı konusunda ayrıntılı bilgilere ulaşabilirsiniz. Eğer sitenin tüm olanaklarından faydalanmak istiyorsanız, kayıt yaptırmayı düşünmelisiniz. Bunun için kayıt formunu kullanabilir ya da bu bağlantıya giderek kayıt işlemi hakkında daha fazla bilgi alabilirsiniz. Eğer önceden kayıt yaptırdıysanız buradan giriş yapabilirsiniz.

deniz_zined

Orta Düzey

  • Konuyu başlatan "deniz_zined"

Mesajlar: 507

Kayıt tarihi: Aug 26th 2008

  • Özel mesaj gönder

1

Sunday, 16.11.2008, 11:28

ASP'ye Giris /Bölüm -24

Talep (Request) Nesnesi


Web Server çok akıllı bir programdır; bir Web ziyaretçisi herhangi bir talepte bulunduğu, yani bir sayfanın gönderilmesini istediği anda, bu talebi, bir nesne halinde ele alır; kolleksiyonlar oluşturur. Bu kolleksiyonlar, HTTP protokolü ile iletişimin sonucu olarak ziyaretçinin Browser’ından ve Internet’e giriş noktası olan ISS’in bilgisayarından başlayan ve Web Server’dan derlenen bir dizi bilgidir. Bir anlamda, Request nesnesi, Web programımızın Girdi (Input) bölümünü oluşturur.


Request nesnesi kendi içinde dört ana nesne barındırır:


[QueryString ve Form


Web ziyaretçisinin bilgisayarından kalkıp Server’a gelen herşey, QueryString kolleksiyonunu oluşturur. Bu ziyaretçinin Browser’ın URL adresi hanesine yazdığı bir basit HTML sayfası yolu ve adı olabilir; bir Form’un Gönder düğmesini tıkladığında gelen bilgiler olabilir. Bu bilgilerin şu özelliklerini kullanabiliriz:


Content_Length: Bir Form’dan gelen bilgilerin tümümün byte olarak boyutudur.


Remote_Host: Ziyaretçinin IP adresini verir; ancak Internet’e çevirmeli ağ ile bağlanan ziyaretçilerimiz her seferinde farklı bir IP bildirebilirler. Bu yüzden bu bilgiyi ziyaretçinin kimliği sayamayız.


Request_Method: Form’da kullandığımız GET veya POST metodunu bildirir. İki yöntemle gelen bilgi farklıdır. Form’un oluşturduğu bilgileri GET yöntemi ile alırsak bu, çevre değişkenlerinden QUERY_STRING değişkeninin içine yazılır. Başka bir ifade ile Form’daki bütün değişkenlerin adları ve bu değişkenin içerdiği değer yumak yapılır (bu yumağın niteliğine ve nasıl çözeceğimize geleceğiz!) ve Server’da QUERY_STRING değişkeninin değeri olarak yazılır. Form’un bilgilerini POST yoluyla alıyorsak bunlar Request nesnesinin Form kolleksiyonunun içinde Form’un değişken adları ve ziyaretçinin bu değişkenler için sağladığı değerler olarak ayrı ayrı yazılır. GET ile sınırlı, POST ile sınırsız bilgi alabiliriz.


Script_Name: O anda çalıştırılmakta olan ASP sayfasının adını verir.


ServerVariables: (Server Değişkenleri)


Request nesnesinin bir diğer kolleksiyonu, bizim kendi Web Server’ımızın o anda çalışmakta olan ASP sayfası için oluşturduğu ortamın değişkenleridir. Bunların arasında ziyaretçinin Browser’ına ilişkin bilgiler de vardır. Önvc şU kısa ASP sayfasını çalıştırarak kendi Server’ımızın şu andaki değişkenlerini görelim; sonra bunları ayrıntılı ele alalım (SerDeg.asp):


<HTML>


<HEAD>


<TITLE>HTTP ServerDegişkenleri Kolleksiyonu</TITLE>


<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9">


<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">


</HEAD>


<BODY BGCOLOR=white>


<CENTER>


<H2>HTTP Server Değişkenleri Kolleksiyonu</H2>


</CENTER>


<TABLE BORDER=1>


<TR><TD><B>Değişkenin adı</B></TD> <TD><B>Değeri</B></TD></TR>


<% For Each key in Request.ServerVariables %>


<TR>


<TD><% = key %></TD>


<TD>


<%If Request.ServerVariables(key) = "" Then


Response.Write "&nbsp;"


Else


Response.Write Request.ServerVariables(key)


End If


Response.Write "</TD>"%>


</TR>


<% Next %>


</TABLE>


<p>


Sizin Host'unuzun adı:<B> <%=Request.ServerVariables("HTTP_HOST")%></B>


</BODY>


</HTML>


Bu sayfayı çalıştırdığımız zaman görüntülenecek tabloda, Bir HTTP Server’ın SerDeg.asp sayfasını çalıştırdığı anda oluşturduğu ortama şekil veren bütün değişkenleri göreceksiniz. Bu değişkenleri programlama yoluyla değiştiremeyiz; sadece okuyup, yararlanabiliriz. HTTP Server Değişkenleri Kolleksiyonunun elemanları şöyle sıralanır:

Degiskenin Adi Değeri


ALL_HTTP HTTP Header içinde yer alan bütün değişkenler ve değerleri. Header adlarının önünde “HTTP_” öneki vardır.


ALL_RAW HTTP Header içinde yer alan bütün değişkenler ve değerleri. Header adları ve değerleri istemci Browser’ın verdiği şekilde gösterilir.


APPL_MD_PATH Web Server’ın ISAPI.DLL dosyası için varsaydığı kök dizin


APPL_PHYSICAL_PATH Web Server’ın varsaydığı kök dizinin gerçek yolu


AUTH_PASSWORD Kullanıcı Web Server’a kullanıcı adı/parola yöntemiyle bağlanabiliyorsa, kullanılan parola


AUTH_TYPE Kullanıcı Web Server’a kullanıcı adı/parola yöntemiyle bağlanabiliyorsa, kullanılan yetkilendirme yöntemi


AUTH_USER Kullanıcı Web Server’a kullanıcı adı/parola yöntemiyle bağlanabiliyorsa, kullanıcı adı


CERT_COOKIE Kullanıcı siteye bağlanmak için yetkilendirme sertifikası kullanıyorsa kendisine verilen kimlik (ID)


CERT_FLAGS Sertifikanın varlığını gösteren bit değeri


CERT_ISSUER Sertifika varsa veren kurum


CERT_KEYSIZE Secure Socket Layers kullanılıyorsa, bağlantı için anahtar değeri


CERT_SECRETKEYSIZE Özel anahtar değeri


CERT_SERIALNUMBER Sertifika seri no.


CERT_SERVER_ISSUER Sertifikayı veren merci


CERT_SERVER_SUBJECT Server Sertifikasının “konu” alanı değeri


CERT_SUBJECT İstemci Sertifikasının konu alanı değeri


CONTENT_LENGTH İstemcinin gönderdiği bilgi yumağının boyutu


CONTENT_TYPE Ziyaretçiden gelen bilgilerin GET veya POST metoduna göre edindiği tür


GATEWAY_INTERFACE Web Server’ın ziyaretçi ile etkileşim arayüzünün adı ve sürümü. Genellikle: CGI/1.1


HTTPS Ziyaretçi ile bağlantı güvenli ise ON, değilse OFF


HTTPS_KEYSIZE Secure Sockets Layer için bağlantı anahtar sayısı


HTTPS_SECRETKEYSIZE Özel Server sertifikasının gizli anahtar sayısı


HTTPS_SERVER_ISSUER Özel Server sertifikasının veren merci


HTTPS_SERVER_SUBJECT Özel Server sertifikasının konusu


INSTANCE_ID Web Server’ın aynı anda kaç kere çalışmakta olduğu


INSTANCE_META_PATH Şu anda çalışmakta olan Web Server’ın Meta yolu


LOCAL_ADDR İstemcinin IP numarası


LOGON_USER İstemci Windows NT sisteminde ise oturum açma adı


PATH_INFO Çalışmakta olan ASP’nin göreli yolu ve adı


PATH_TRANSLATED Çalışmakta olan ASP’nin gerçek yolu ve adı


QUERY_STRING İstemcinin gönderdiği bilgi kümesi


REMOTE_ADDR İstemcinin Host’unun (ISS’inin) IP’si


REMOTE_HOST İstemcinin Host’unun (ISS’inin) adı


REMOTE_USER İstemcinin gerçek adı


REQUEST_METHOD İstemciden bilgi isteme yöntemi (GET veya POST)


SCRIPT_NAME Çalışmakta olan ASP’nin adı


SERVER_NAME Sunucu’nun adı


SERVER_PORT Sunucuya bağlantının geldiği TCP kapı numarası


SERVER_PORT_SECURE TCP kapısı güvenli ise 1, değilse 0


SERVER_PROTOCOL Server’ın çalıştırdığı HTTP’nin sürümü


SERVER_SOFTWARE Server programının adı ve sürümü


URL Şu anda geçerli URL