ASP ServerVariables (Server Değişkenleri)

ASP, PHP, PERL, CGI, HTML gibi web programcılık dilleri hakkında yardım, tartışma ve paylaşımlar.
Cevapla
Kullanıcı avatarı
UnreaL
Fast Friend
Fast Friend
Mesajlar: 207
Kayıt: 24-12-2005 17:26

ASP ServerVariables (Server Değişkenleri)

Mesaj gönderen UnreaL »

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ındaziyaretçinin Browser'ına ilişkin bilgiler de vardır. Önce þ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

<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 " "
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 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:

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


RESPONSE NESNELERİ

Bu başlık altında her iki objeyi daha detaylı olarak inceleyeceğiz. Bu objeler browser ve web server arasındaki iletişiminin sağlanması için kullanılırlar. Şimdi bu detaylara ayrıntılı olarak bakalım.

Write Metodu:
Response objesinin en sık kullanılan metodudur. Write metodu ASP sayfamızda bilgileri görüntülemek için kullanılır. Genel kullanımı;
Response.Write [değer] şeklindedir.

<%
Yazılacak_text="Bugün günlerden ne?"
Response.Write yazılacak_text
%>


Şeklinde bir kullanım browser ekranına "Bugün günlerden ne?" diye bir mesaj yazar. Asp script bildiğiniz gibi <%........%> script sınırlayıcıları arasına yazılır. Bu kullanımın iki farklı şekli vardır. Eğer html tagları içerisinde herhangi bir değişkenin taşıdığı bir değeri görüntülemek istiyorsak <%=değer%> daha uygun bir kullanım olacaktır. Fakat bu kullanımın dezavantajı sadece 1 satırlık bir kodlamaya izin vermesidir. Yani;

<%=değer
Response.Write "Bu kullanım hata verir."
%>


Şeklinde bir kullanım yanlıştır. Dolayısıyla birden fazla satır ASP kodlaması gereken durumlarda ASP kodunu <%.......%> satırları arasına yazmak daha uygun olacaktır. Aşağıdaki örneği inceleyelim:

<%
text1= "Merhaba"
text2= "Yeni ASP programcıları"
Response.write text1 & text2
%>


Response.write text1 & text2 kullanımı iki farklı değişken içerisinde tutulan stringleri birleştirerek tek satırda yazmak için kullanılmıştır. "&" işareti iki değişkeni birleştirmek için kullanılır. Response.write bir işlemin sonucu ekrana yazmak içinde kullanılabilir. Aşağıdaki örneği inceleyelim;

<%
sayı1= 24
sayı2= 8
Response.write sayı1/sayı2
%>


Şeklinde bir kullanım ekrana 3 yazılmasına neden olur. Çünkü sayı1 /sayı2 yani 24/8=3 dür, ve response.write 3 şeklinde bir kullanıma eşdeğerdir. Bir formdan bize iletilen bilgileri Request objesini kullanarak alabilir ve gene bu bilgiyi Response objesinin write metodunu kullanarak ekrana yazabiliriz.

<%
Response.Write (Request.QveryString("text1"))
%>


şeklinde bir kullanım bize istek gönderen formdaki text1 adlı değişkeninin değerini ekrana yazar.

Buffer:
Buffer özelliği response ile oluşturulan Html Data akışının html dosya oluşturulması tamamlandıktan sonra veya her satır iletildiğinde gösterilmesi ile ilgili bir özelliktir. Default değeri "on" dur bu değere false u set edecek olursak ;
Response.Buffer=False şeklinde bu işlem yapılabilir.

Clear:
Response.Clear metodu buffer (tampon) edilmiş tüm html bilgisinin silinmesi için kullanılır. Kullanımı: Response.clear şeklindedir. Fakat unutulmaması gereken nokta eğer Response.Buffer= false olarak set edilmiş ise Run-time (çalışma zamanı ) hataya neden olur.

End:
End metodu web server işlemi durdurmasını ve Response.End noktasına kadar oluşturulmuş Html datanın gönderilmesini sağlar. Kullanımı :
Response.End şeklindedir

Expires:
Expires özelliği dakika cinsinden sayfanın browser tarafından hafızada ne kadar tutulacağı ile ilgili bilgiyi set etmek için kuyllanılır. Eğer kullanıcı aynı sayfaya Response.Expires ile belirlenen zamandan daha önce geri dönerse sayfanın hafızadaki versiyonu kullanıcıya gösterilir. Kullanımı : <% Response.Expires=dakika %> şeklindedir. Eğer bu değere "0" set edilirse ( Response.Expires=0 ) sayfaya her geri dönüldüğünde sayfa yeniden yüklenir.

ExpiresAbsolute:
ExpiresAbsolute tıpkı Expire özelliğibne benzer olarak fakat belirtilen sürenin dakika değil tarih veya saat olacak şekilde set edilmesi suretiyle sayfanın geçerlilik süresinin belirlenmesi için kullanılır. Kullanımı :
<% Response.ExpiresAbsolute=#tarih# %> şeklindedir

Redirection:
Kullanıcıyı bir Asp sayfasından diğerine yönlendirmek için kullanılan bir metoddur. Bu metodun yerini alan 2 yeni metod olan server.transfer ve server.Execute metodlarına daha sonra ayrıntılı olarak göz atacağız. Redirection iel ilgili olarak bilmemiz gereken bazı önemli noktalar vardır. Eğer http header client a gönderilmil ise Response.redirection hataya neden oluyur . bu hatanın önüne geçmek için response.Buffer özelliğini true ya set etmek sureiyle ve herhangi bir noktada response.clear ı kullanarak response.Redirection in hata vermesini engelleyebiliriz. Response.Redirectionun genek kullanımı:
Response.Redirection("yönlendirilecek_sayfa") şeklindir.

Server. Execute ve Server.Transfer
Server. Execute ve Server.Transfer bir ASP sayfası içersinden başka bir sayfanın çalıştırılması veya o sayfanın içeriğinin aynı sayfa içerisinde gösterilmesi için kullanılır. Aralarında ki tek fark ise Server. Execute kullanıldığında hedef sayfa çalıştırıldıktan sonra orijinal sayfa nın işletilmesine devam edilmesine rağmen Server.Transfer kullanıldığında orijinal sayfaya geri dönülmez. Page1 , Page2 veMainpage adı altında 3 sayfamın olduğunu düşünün
Cevapla
  • Benzer Konular
    Cevaplar
    Görüntüleme
    Son mesaj

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 4 misafir