logo
asp etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
asp etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

26 Ocak 2014 Pazar

ASP Ders 2

ASP sayfaları web sunucusu altında çalışan, içindeki scriptler sayesinde aktif olarak web sayfası oluşturan ve oluşturduğu sayfayı sunucuya bağlanmış olan internet browser' ına gönderen interaktif sayfalardır. Internet ortamında çalıştığı için herkesin aşina olduğu aşağıdaki temel elemanları kullanır:
ASP, 1996 yılının Kasım ayında Microsoft’un bir Active Platform dizaynını açıklaması ile doğdu. Active Platform, Microsoft’un bir masaüstü bilgisayar ile bir server bilgisayarın nasıl haberleşmesi gerektiği konusundaki fikirlerini yansıtmaktadır. Active Desktop ve Active Server olarak iki bölümden oluşur. Active Desktop client tarafını ya da HTML sayfalarının bir web browser üzerinde izlendiği kullanıcı tarafını temsil etmektedir. Active Server ise server tarafı componentini temsil etmektedir. Server tarafından işlenen sayfalar da Active Server Pages adını almaktadır.
Microsoft’un dökümanları ASP’yi “dinamik, interaktif, yüksek performanslı Web server uygulamalarını yaratıp çalıştırmak için kullanabileceğiniz bir server tarafı scripting ortamı” olarak tanımlamaktadır. ASP dosyaları sade HTML dosyalarının verebileceğinden çok daha yüksek seviyede interaktiflik sağlayabilmek için HTML’i, scriptleri ve ASP kodlarını birleştirmektedir. ASP ile Windows NT üzerinde çalışan programcılar dışarıdan gelen bilgileri temel alarak sayfalarının nasıl görüntüleneceğini düzenleyebilirler. Her hafta farklı bir resim veya kullanıcının yaşına göre bilgi gösterilebilir. Durum dallanması (Condition Branching) olarak adlandırılan bu işlem ASP’ye belirli durumlar karşısında ne göstereceğine karar verme olanağı sağlamaktadır.
Diğer yanda HTML’in bunu yapmak için hiç bir şansı yoktur. Çünkü HTML sadece gösterme amaçlı bir dildir. Gerçek hayatta genellikle kullanıcılarınızın tecrübelerine bağlı olarak farklı içeriklere sahip olan sayfalar sunmak isteyeceksiniz. Bunun için önce karar verme yeteneğine sahip olmanız lazım.
DOSYALAR NASIL İŞLENİR?
Normalde HTML dosyaları client tarafında (yani kullanıcının web browserında) işlenmekedir. Microsoft’un Active Server Platform’u sayesinde artık server tarafı da dosyaları işleyebilecektir. Burada server’ın işlemesinden kasıt bir dosyanın kullanıcının browser’ında gösterilmeden önce server tarafından bazı temel adımların tamamlanmasıdır:


Dosyanın uzantısına bakar. Eğer dosya .html ya da .htm gibi standart bir uzantıya sahipse server dosyayı browser’a gönderir. Eğer dosya .asp (ya da .asa) gibi bir uzantıya sahipse server dosyayı açar ve içinde ASP kodunu belirten tag’ları aramaya başlar. ASP kodu özel tag’lar dahilinde yazılır; "<%" kodun başlangıcını," %>" ise kodun bitişini gösterir.

Server bu işaretlerin dahilindeki kodu işleme koyar ve onun yerine HTML kodu yazar. Bu HTML kodu kullanıcının ayarları ile bilgiye ya da client tarafındaki diğer durumlara dayanmaktadır.

Sonuç olarak kendi orijinal ve ayrıca ASP tarafından üretilen işaretleri taşıyan sayfa kullanıcının browser’ına gönderilir.
Bir alışveriş kartı örneğini ele alalım. Bir müşterinin mağazanın kataloğundan 5 tane malzemeyi seçtiğini farzedelim. Bu seçimler satır sütunları olan bir tablo içeren bir alışveriş kartı sayfasında listelenecektir. Her sütunun en üstünde örneğin miktar, stok numarası ya da fiyat gibi bir başlık olacaktır. İçeriği müşterinin ne seçtiğine bağlı olarak değişen bu sayfayı nasıl dizayn etmeyi düşünürdünüz?
Sütun başlıkları değişmeyeceği için onlar orijinal HTML kodunun içine yerleştirilebilir. Tablonun pozisyonu da büyük ihtimalle değişmeyeceği için o da HTML dosyasına dahil edilebilir. Sayfaya ne kadar geri dönüp tekrar izlesenizde bunlar değişmeyecek olan değerlerdir.
Ancak tablonun içi alışveriş için kullanıcının ne seçtiğine bağlı olarak değişecektir. Siteye giren herkes değişik malzemeler seçebilir. Bunu gösterebilmek için ASP bilgileri bir database’den çeker ve kullanıcaya gönderilmeden önce bunları HTML kodunun içine gömer. Programcılar bu tür sayfaları “on the fly” olarak tanımlıyorlar çünkü gerçekte böyle bir sayfa yok. Bunun yerine gerektiğinde istek üzerine (on the fly) oluşturuluyor. ASP scripti statik sayfa elemanları ile database’den seçilen bilgileri birleştirerek safyanın tamamını oluşturur.
ASP’ Yİ GENİŞLETMEK İÇİN SCRIPT KULLANMAK
VBScript, JavaScript ve JScript bir HTML dosyasına eklendiğinde görüntü üzerinde değişikliklere olanak sağlayan scripting dilleridir. Bu diller genellikle client tarafında çalıştırılırlar yani başka bir deyişle kullanıcının browser’ı tarafından işletilirler.
Ancak bazı ciddi dezavantajları mevcuttur:
- Browser’a özeldirler. Yani aynı kod browser’a bağlı olarak farklı çalıştırılabilirler.
- Bir database ile ilişki (ürün kataloğu gibi) kuramazlar ve bilgi saklayamazlar.
Bu dezavantajlarına rağmen scripting dilleri kullanışlı olabilirler. Muhtmelen en iyi kullanılabilecekleri alan bilgi onaylamaktır (data validation). Mesela server’ a işleme konması için gönderilmeden önce bir giriş formu üzeinde eksik alan olup olmadığının kontrol edilmesi gibi. Bu gönder düğmesine basıldığı zaman çalışan bir script sayesinde gerçekleştirebilir. Fonksiyon formun bütün alanlarını kontrol edecek ve eğer bir alan boş bırakılmışsa kullanıcıyı bilgilendirecek şekilde bir hata mesajı gönderecektir.
Scriptler server tarafında da kullanılabilir ama genellile kullanıcı tarafında kullanılırlar. SCRIPT tag’ının bir özelliği sayesinde programcı kodun nerede çalışacağını tayin edebilir. Default olarak kod client tarafında işleme konur ancak bunu değiştirmek programcının elindedir.
COMPONENTLER VE OBJECTLER (BİLEŞENLER VE NESNELER)
Componentler ve objectler server’ın ortamı ve sistemi ile haberleşmek için kullanılan araçlardır. Bir component bir ya da birden fazla object’i içerebilir. Ve bir object de bir ya da daha fazla metod ve bir ya da daha fazla özellik (properties) içerebilir. (Metodları dilbilgisindeki fiiller özelikleri de sıfatlar olarak düşünebilirsiniz). Bir object’in bir örneğini (instance) yaratarak görevleri yapmak için metodlarını kullanabilirsiniz. Bir object’in özelliklerini değiştirmek metodlarının görevleri farklı icra etmesine sebep olur.
Bazı objectler ASP, bazıları VBScript ve bazıları da server sisteminin içine gömülmüştür. Bir uygulamayı daha rahat geliştirmek için başka componentler de yaratılabilir.

Ortak Componentler ve Objeler
Object / Component
Fonksiyonu
Kaynak
Request Object
Browser’dan gelen istekleri düzenler
ASP içine gömülmüş
Response
Browser’a gönderilen bilgiyi düzenler
ASP içine gömülmüş
Server Object
Bazı temel server servislerine erişimi sağlar
ASP içine gömülmüş
Application Object
Bir uygulamanın yaşamı için bilgileri düzenler
ASP içine gömülmüş
Session Object
Bir session’ın yaşamı için bilgileri düzenler
ASP içine gömülmüş
Text Object
Text dosyalarını kullanır
VBScript scripting object
Error Object
Hata analizi sağlar
VBScript scripting object
Dictionary Object
Lookup referans oluşturur
VBScript scripting object
File System Object
Dosya sistemlerine erişim sağlar
VBScript scripting object
Content Linking
Sitedeki sayfalara bir düzen verir
Server Component
Browser Capabilities
Browser’ının ne yapabileceğini belirler
Server Component
Ad Rotator
Sayfa üzerinde bir noktada reklamları döndürür
Server Component
Voting
Kullanıcı havuzundan bilgi toplar
Server Component
Active Database
Bir database ile iletişim kurar
Server Component
MUHTEMEL DEZAVANTAJLAR
ASP dinamik web içeriği için kuvvetli bir araç olmakla beraber diğer çözümler gibi onun da bazı dezavantajları mevcuttur. ASP sadece Windows NT ve 95 içinde çalışır. ASP kullanmak için bir Microsoft web server’ına (genellikle Internet Information Server) ihtiyaç duyulur. Diğer sunumcularda ASP için Chili!ASP adlı ürünü kullanmak gerekir. Ayrıca ASP cookie kullanmaktadır. Bu da Lynx kullanan kullanıcıların sayfalara erişememesi demektir. Gerçi günümüzde Lynx kullanan kullanıcıların sayısı oldukça az ve hedef kitlenin büyük bir kesimine hitap etmemektedir.
Durumunuza ve ihtiyaçlarınıza bağlı olarak ASP sizin için en iyi çözüm olabilir. ASP’nin piyasada şu an rekabet halinde bulunduğu diğer rakibinin adı Cold Fusion’dır. Allaire Grubu tarafından yaratılan Cold Fusion da sizin Access ve SQL Server gibi database’lere erişmenize olanak vermektedir. Bunun yanında Cold Fusion’ın tagları biraz kafa karıştırıcı ve hata ayıklaması biraz daha zor olabilir ve bazı kullanıcılar bellek problemleri ile karşılaşmışlardır

24 Ocak 2014 Cuma

ASP

Organizasyonlar İnternetiverimi artırmak, maliyeti azaltmak ve varolan bilgi ve veriye yeni dinamik ve interaktif yollardan erişimi sağlamak amacıyla kullanıyorlar.Bir işyeri için internet uzerinden  yapılabilecek uygulamalardan sadece bir kaçı örneklenecek olursa;
         İşçi kayıtlarının çıktısını almak yerine online olarak yayınlayabilirsiniz. Böylece işçilerin girip kendilerine ait kayıtları guncellemeleri ilede idari masrafları azaltmış olursunuz.
         Envanter veritabanlarınızı online store’a bağlayabilirsiniz ve processing sistemi düzenleyebilirsiniz.
         Sitenize giren her ziyaretcinin ilgilendigi alanları belirleyerek bu alanlarda son ziyaretlerinden itibaren olan gelişmeleri duyurabilirsiniz.
Microsoft internet information server(IIS) ASP ile internet ve tumleşik intranet uygulamaları gelistirmek  icin   tasarlanmış guclu bir platformdur. Webmasterlar ActiveX scriptlerini ve server tabanlı çözümler uretmek icin yaratılmış, serverda çalışan activeX server bilesenlerini kombine edebilirler.
ACTIVE SERVER PAGES:ASP sayfaları HTML icine gomulmus scriptler seklinde yazilirlar.bu scriptler database’e ve uygulamalara  erişim için ve veri işlemek için local server veya baska bir serverda calisan componentlere basvururlar.Bir browser ASP dosyasını cagiridigi zaman server bu sayfada bulunan kodları işler ve client tarafa standart HTML kodları gönderilir.
AÇIKLIK:IIS kullanıldıgında web uygulamaları geliştirmek için  belli bir dil bilmek zorunda degilsiniz.Active server pages activeX scripting dillerinin tumu ile uyumludur.
Active server Pages default olarak Visual Basic scripting language(VBScript) ve Jscript destekler.plug-inler sayesinde REXX ,Perl ve Tcl gibi dilleride IIS ye veya web server’a bilesenlerinde eklenmesi ile destekleyecektir.Birden cok scripting dili tek asp sayfası içinde kullanılabilir.ActiveX server Bilesenleri hemen hemen butun dillerde yazilabilir.Bunlar c++,Java,visual Basic cobol ve dahasıdır.
ASP ile Web  Uygulamaları geliştirmek kolaydır:HTML yazarlarına serverdaki web sayfalarına canlılık getirmeyi kolay kılar.özellştirilmiş sayfalar basit uygulamalar çok çabuk bir şekilde geliştirilebilir. Her kullnaıcı icin farklı bir içerik sunan dinamik sayfalar olusturmak için perl ve c gibi dillerde karmasık CGI kodları yazmaktansa web developerlar butun bu işleri ASP ile çok kolay bir şekilde yapabilirler.Aşagidaki örnekte o kullanıcının ip adresi o anki zaman ve client tarfın kullandıgı browserin tipi kullnıcıya yansıtan VBScript ile yazilmis ASP kodlarını görmektesiniz.
<HTML>
<HEAD>
<TITLE>Deneme</TITLE>
</HEAD>
<BODY>
<P>
Merhaba <%= Request.ServerVariables(“REMOTE_ADDR><br>
Şu an saat <%= now %><br>
Kullandıgınız browser
<% =Request.ServerVariables(“http_user_agent”) %>
</BODY>
</HTML>
                                                                                                      
Bu kodların çıktısı aşağıdaki gibi olacaktır:
Mantık ve lojiği presentasyondan ayırır:Web işi grafik,Html,programcılık,yayınlama gibi bir cok işi bir arada toplar.Asıl zor olan bunlarin birara verimli bir şekilde çalışmasına sağlamak ve biribirinin işini  aksatmayacak şekilde değişiklikler yapmak.bugun dinamik bir içerikte olması gerekenler tasarım, lojik ve içeriktir.Perl ve C kodlarında  değişiklik yapmak uygulamayı zorlastıracaktır ve yanlışlıkla yapılacak bir değişiklik programı veya HTML formatını tamamıyle bozabilir.
Scripting ve bilesenlerin kullanılması sayesinde asp veritabanındaki verilere erişim için yazılmış bir programı ve uygulamayı tasarımdan ve web sayfasınıın diger içeriklerinden ayırır.
Bu, uygulama geliştiricilerin business lojiklerini istemci tarafa yansır endisesi tasimadan html kodlarının icine yazabilmelerini saglar.tasarımcılar sayfalarını deidikleri şekilde tasarlamakta ozgurdurler.scripting program ile HTML birleştiren  bir kopru gorevi ustlenmiştir.
Aşağıdaki örnekte bir form ile gonderilen URL aracılığı ile alınan ticker symbol degişkeni ASP dosyasına gonderiliyor.ASP Dosyasının ilk kısmında stok fiat serverI ile bağlantı kuracak component çağırılıyor.bu nesnenin fiatı acma kapama gibi özellikleri HTML icine kolayca yazılabilir.Programcı istedigi dilde calişabilir.Endişe edilecek tek nokta stok fiar server’i ile nasıl  haberleşileceğidir.HTML yazıcısınında bilmesi gereken tek sey componenti nasil yazacagidir,stok fiat server inin nasil calisacagi onu ilgilendirmez.
<HTML>
<%
            TSym=Request.QueryString("TickerSymbol")
            Set NObj=Server.CreateObject("NASDAQ.TickerObj")
            if NObj.GetCompany(TSym)=False then
                         Server.Redirect("ticker/entryform.htm")
%>
<H1>Gunluk satış raporu<%=NObj.CompanyName%> </H1>
<TABLE>
<TR><TD>Open</TD><TD>Close</TD><TD>Volume</TD></TR>
<TR><TD><%=NObj.Open%></TD>
<TD><%=NObj.Close%></TD>
<TD><%=NObj.Volume%></TD></TR>
</TABLE>
<H2>rapor zamanı<%=time()%><%=date()%></H2>
</HTML>
Manul Derleme yoktur:kodlarda bir değişik oldugu zaman programı tekrar derlemek yerine ASP dosyalarında bir sonraki request yani istem yapıldığı zaman server yeni ASP kodlarını derler ve serverin cache in yukler istemci tarafada yeni sonuclar gitmiş olur. Sitenizi yaparken ASP dosyalarınızsa değişklik olduğu zaman sadece refresh etmeniz  yeterli olacaktır.
Browserdan Bağımsızdır:ASP uygulamaya browser açısından tarafsız bir yaklaşım sağlar. Dinamik bir içerik sağlamak için oluşturulan uygulama mantığının tümü server uzerinde çalıştığı için uygulama geliştiricileri web sitelerinin hangi browser tarafından görüntülendigi konusunda endişelendirmez. Browserlar sadece ASP dosyasının işlenmesi sonucu oluşan çıktıyı yansıtırlar scriptler serverda çalışır.
SCRIPTING ve ACTIVE SERVER PAGES: Active Server Pages dinamik,interaktif yuksek performanslı web server uygulamaları oluşturmak ve çalıştırmak server taraflı bir scripting ortamı sağlar. Server taraflı scripting web serverinizin ozelleştirimiş HTML sayfalrı olusturmada gerekli bir işi yapmasını sağlar. Örneğin usera gore userin browserinin tipine veya ozelliklerine gore  sitenize nerden bağlandıklarına gore yada bir alisveris siteniz varsa musterinizin daha once aldigi urunlere gore farklı sayfalar gelmesini sağlayabilirsiniz.
Scripting dilleri C,C++,ve visual Basic gibi programlama dilleri ve HTML arasında bir basamaktır. HTML genel olarak format berlemede kullanılırken programlama dilleride bilgisayarlar karmaşık komutlar vermek için kullanılır.scripting dilleri ise bircok masaustu uygulamasındaki  macro dilleri gibi bunlar arasında bir yere sahiptir.
Active server Pages scripting enginelerin kullanımı ile tum ActiveX scriptinng dillerini desteklerler. Scripting engineler Component Object Model(COM) denilen scriptleri işleyen nesnelerdir.IIS VBScript ve Jscript dillerini desteklemektedirler ve REXX,Perl,Tcl ve diger scripting dilleri içinde plug-in ler mevcuttur.
Active Server Pages web uygulaması geliştiricilerinin değişik scripting dilleri kullanmalarını mumkun kılar.Bunun nedeni scriptlerin client taraflı scriptingin tersine server tarafında işleniyor olmasıdır.Aslında tek ASP sayfasında birkaç scripting  dili kullanılabilir.Bu bir tagin icinde script dilinin belirtilmesi ile yapılır.Örneğin aşağıdaki scriptte Active server Pages tarafında işlenecek olan jScript ve ardındanda Vbscript kodlarının hangi script diline ait oldugu onceden belirtiliyor.
<html>
<script language=”jscript” RUNAT=Server>
<Jscript kodları bu kısma yazılır>
<script language=”VBScript” RUNAT=Server>
<VBscript kodları bu kısma yazılır>
</html>
ACTIVEX Server Bileşenleri:IIS nin bir avantantajı  ActiveX Server Componentleri’ne destek veren web çözümleri için component tabanlı uygulama gelişimini sağlamasıdır.Active Server Pages C++,Visual Basic,Java yada Cobol gibi herhangi bir dilde yazilmis  ActiveX Server  Componentlerini çalıştırmanıza olanak sağlar.IIS filtreler  ve ozel web uygulamaları icin  CGI ve ISAPI pprogramlarını desteklemeye  devam ettiği sürece ,Active Server Componentleri uygulama geliştirmeleri için güçlü,component tabanlı bir  yaklaşım sunar
ACTIVEX Server Bileşenlerinin Yararları:ActiveX server componentleri(bileşenleri)  daha onceki bilinen adıyla OLE otomasyon Serverları web uygulamalrının bir parçası olarak web server uzerinde çalışmak uzere tasarlandılar.Bu componentler scriptinizin fonksiyonelliğini artırabilirler.Bu birçok programcının component ve bu componentleri olusturmada kulanılan cogu geliştime aracını  geliştirmeyle yakından ilgili olmasını kesinleştirir. Dahası bircok ActiveX  componenti zaten hazır olarak bulunmakta ve web uygulamalrı geliştirmek için hazır bloklar halinde kullanıma hazır haldedirler.
Yazılış şekillerine bağlı olaraktan ,ActiveX server componentleri bir web brpwser uzerinde de çalışabilirler ve geleneksel client-server uygulamaları ve uygulama plug-inleri gibi web server dışındaki ortamlardada kullanılabilirler.


23 Ocak 2014 Perşembe

Server Variables

Server Variables:
istemci tarafın tarayıcısı tarafından yollanan bir http başlık bilgisi  bu kolleksiyonla kullanılabilir.
Syntax
Request.ServerVariables (server değişkenleri)
Server değişkenleri aşağıda verilmiştir:
ALL_HTTP :client tarafından gonderilen bütün HTTP başlıkları
ALL_RAW :tum HTTP değerlerini alır.ALL_HTTP ile arasındaki fark ALL_HTTP servera gelmeden once  HTTP_ prefix e gelir.Burada başlık adı büyük harfe çevrilir.ALL_RAW da ise datalar buraya gelmediği için client taraftan gonderildigi  gibi görünürler.. 
APPL_MD_PATH  :ISAPI.DLL uygulamalarında kullanılmak uzere metabase'in path i
APPL_PHYSICAL_PATH : IIS  APPL_MD_PATH 'i fiziksel path e çevirmiş halidir.
AUTH_PASSWORD:  client'ın authentication dialogunda belirttiği değerdir. Basic authentication kullanıldığı zaman geçerlidir
AUTH_TYPE :korumalı bir scripte erişmek isteyen userları değerlendirmak için serverin kullandığı  authentication metodudur.
AUTH_USER :doğrulanmış ancak işlenmemiş kullanıcı adı. 
CERT_COOKIE :client sertifika'e ait Unique ID
CERT_FLAGS  :client sertifika sı varsa 1 değeri ni alır yoksa 0 değerini  alır.


CERT_ISSUER :client sertifika yayınlayıcısına ait bilgiler(O=MS, OU=IAS, CN=user name, C=USA).
CERT_KEYSIZE :SSL bağlantısının kaç bit üzerinden yapılığını belirtir.
CERT_SECRETKEYSIZE : server certificate private key'indeki bit sayısı. 1024 gibi
CERT_SERIALNUMBER:client sertifika 'sının seri numarası
CERT_SERVER_ISSUER :server sertifika'sının yayınlayıcısı
CERT_SERVER_SUBJECT : server sertifika sının konusu
CERT_SUBJECT :client sertifika sının konusu
CONTENT_LENGTH:client taraftan gelen  toplam bilginin uzunluğu
CONTENT_TYPE :client tan gelen verilerin gonderiliş şekli örneğin GEt,POST veya PUT gibi
GATEWAY_INTERFACE:serverin kullandığı CGI sartnamesi. CGI/revision formatındadır
HTTP_<HeaderName> :HeaderName de saklanan başlık değeri.Başlık oluşturulurken kullanılan _(alt çizgi) server tarafından -(tire) olarak algılanır.

HTTP_ACCEPT :Accept başlığı
HTTP_ACCEPT_LANGUAGE: contenti yani clienttan gelen veriyi gösterebilmek için kullanılan dili ifade eden string bir değer
HTTP_USER_AGENT :istemde bulunan browserı belirten bir string değerdir.
HTTP_COOKIE :istemle birlikte gelen bir cookie stringi.
HTTP_REFERER :bir yonlendirme olduğu zaman esas isteme ait url yi tutan bir string  değeri
HTTPS :ON ise SSL aglantısı uzerinden istemler gerçekleşiyor dur OFF ise non-secure bir iletişim yapılıyor demektir.
HTTPS_KEYSIZE :SSL bağlantısının kaç bit üzerinden yapıldığını belirtir.
HTTPS_SECRETKEYSIZE: server certificate private key deki bit sayısı
HTTPS_SERVER_ISSUER :server sertifika'sının yayınlayıcısı
HTTPS_SERVER_SUBJECT :server sertifika sının konusu
INSTANCE_ID :IIS icin kullanılan bir ID
INSTANCE_META_PATH:istemden sorumlu ISS icin metabase path'i
LOCAL_ADDR :istemi cevaplandıracak serverin adresi.
LOGON_USER :userin hangi Windows accountunu kullandığını belirtir.
PATH_INFO :PATH_INFO ve Virtual pathi kullanarak scriptlere erişebilirsiniz.Bu bilgi bir URL ile  gelirse CGI script ine gonderilmeden once server tarafından desifre edilir.
PATH_TRANSLATED : PATH_INFO nun pathi alıp virtualdan fiziksel yola cevirilme işlemlerinin yapılmış hali olan dir..
QUERY_STRING :HTTP isteminde ? den sonra gelen değişkendir.
REMOTE_ADDR :istemi yapan makinanın  adresi
REMOTE_HOST :istemi yapan host makina
REMOTE_USER :istemi yapan makinaya login olmuş kullanıcının accountundaki username
REQUEST_METHOD: istem yapılırken kullanılan metod.  GET, HEAD, POST gibi.
SCRIPT_NAME :calışan scriptin virtual pathi
SERVER_NAME :The serverin  host name, DNS alias veya IP address
SERVER_PORT :istemin yapıldığı port numarası
SERVER_PORT_SECURE :Secure bağlantı varsa 1 yoksa 0  değerini alır
SERVER_PROTOCOL :The name and revision of the request information protocol. The format is protocol/revision.
SERVER_SOFTWARE: istemlere cevapveren ve gatewayin uzerinde bulunduğu serverin adı ve kullandıgı sunucu yazılımı.name/version formatındadır.
URL  :URL adresi

COOKIE FORM QUERYSTRING

2-COOKIE
     Syntax
Request.Cookies(cookie)[(key)|.attribute]
Örnekler
<%
    For Each strKey In Request.Cookies
      Response.Write strKey & " = " & Request.Cookies(strKey) & "<BR>"
      If Request.Cookies(strKey).HasKeys Then
        For Each strSubKey In Request.Cookies(strKey)
          Response.Write "->" & strKey & "(" & strSubKey & ") = " & _
            Request.Cookies(strKey)(strSubKey) & "<BR>"
        Next
      End If
    Next
%>

<%= Request.Cookies("myCookie") %>
3-FORM
HTTP requestinde POST  ile  gonderilen  form verisi bilgilerini alır.
Syntax
Request.Form(element)[(index)|.Count]
Parametreler
element :form elemanının adı
index
 bir parametrenin birden çok değerlerinden birine erişmenizi sağlayan opsiyonel bir değer Request.Form(parameter).Count. arasında değişen integer değerleri olabilir.
100 Kb dan buyuk veriler POST edilirken Request.form kullanılmaz bunun yerine request.binaryread kullanılır.
Örnekler
<%
  For i = 1 To Request.Form("FavoriteFlavor").Count
    Response.Write Request.Form("FavoriteFlavor")(i) & "<BR>"
  Next
%>
4-QUERYSTRING
HTTP içerisindeki query string dediğimiz link yaninda verilen ve ?(soru işareti) ile ayrilarak yazilan ifadelerdir.
Basit bir örnek verecek olursak
<a href=”queryornek.asp?msg=querystring_metodu”>querystring ornegi</a>
Syntax
Request.QueryString(variable)[(index)|.Count]
Parametreler
variable
http içersinde gonderilen query string değişkeninin adı
index
değişkenin bir veya daha fazla değerini alabilmenizi sağlayan opsiyonel bir parametredir. 1 ile Request.QueryString(variable).Count arasında değişen bir integer değeri alabilir.
Request.querystring(parametre) QUERY_STRING içinde bulunan bütün değişenleri tutan bir dizidir. Bu dizinin istediğiniz kaç elemanı oldugunu bulmak için Request.QueryString(parameter) .Count  kullanılır.Eğer bir değişken gönderilmemişse bu değer 0 değerini alır.
Örnek
http://localhost/asp/names.asp?Q=Fred&Q=Sally
---NAMES.ASP---
<%
  For Each item In Request.QueryString("Q")
    Response.Write Request.QueryString("Q")(item) & "<BR>"
  Next
%>
Yada
<%
  For i = 1 To Request.QueryString("Q").Count  
    Response.Write Request.QueryString("Q")(i) & "<BR>"
  Next
%>
Yazildiğinda ekran ciktisi su şekilde olacaktir.

17 Ocak 2014 Cuma

ASP Ana Objeleri

Ana Objeler
Active Server Pages ‘in beraberinde gelen bazı server ve uygulama geliştirme objeleri vardır. Bu objeler developerları clienttan gelen requestleri, application durumunun yonetimi,cookilerin kullanılması, istemciye verilcek cevabın duzenlenmesi gibi işlerin detayları için kod yazma  zahmetinden kurtatır. Bu ana objeler şunlardır:
1-Request and Response:request objesi HTTP istemi ile scripte gonderilen tum bilgilere erişimi sağlar. Bu bilgiler cookieleri,formları,URL querylerini ve http headerlarını kapsar.
Request objesine ait kolleksiyonlar:
1-clientcertificate 2-cookie 3-form 4-querystring 5-servervaribles
eğer request.form veya request.querystring gibi ifadeler yerine dogrudan request(variable) denilirse web server kolleksiyonları şu sırada arar
1.       querystring
2.       form
3.       cookies
4.       clientcertificate
5.       servervariables
Bunun için çoğunlukla 
Request.(AUTH_USER) yerine  Request.ServerVariables(AUTH_USER) kullanılır.
1-ClientCertificate :HTTP requesti icinde gonderilen X.509 standartındaki sertifikalara ait bilgilerdir.Eğer web browser SSL3.0/PCT1 Protocolu kullanıyorsa yani secure bir iletişim yapıyorsa web browsera sertifika yollayabilir.Eğer bir Sertifika gonderilmemişse ClientCertificate kolleksiyonundan EMPTY degeri doner.
Syntax
Request.ClientCertificate( Key[SubField] )
Bu kolleksiyona ait Keyler ise şunlardır:

Certificate
ASN.1 formatındaki tum sertifika içeriğinin binary stream'ini içeren bir string
Flags
ek sertifika verileri sağlayan flaglerden oluşur.
ceCertPresent—A client certificate is present.
ceUnrecognizedIssuer—Bu zincirdeki son sertifikasyon bilinmyen bir user'a ait
Not:  flagleri kullanbilmeniz için Asp dosyanıza client sertifikasını include etmelisiniz.VBScript kullanıyorsanız cervbs.inc dosyasını Jscript kullnıyorsanız cerjavas.inc dosyasını include etmelisiniz.Bu dosyalar \Inetpub\ASPSamp\Samples klasorune yuklenmiştir.
Issuer sertifikayı yayınlayan hakkındaki bilgileri kapsayan bazı subfield değerlerinden oluşan bir string dir.Eğer Sub fileld olmadan  bu değer belirtilmişse ClientCertificate kolleksiyonu virgul ile ayrılmış SubFieldlar gonderir.Örneğin ,C=US, O=Verisign, vb...
SerialNumber
Client sertifikası serial numerını ASCII tipinde ve tirelerle ayrılmış hxadecimal ifadeleri kapsayan bir stringdir.Örneğin, 04-67-F3-02.
Subject
Bazı subfiled değerlerini tutan stringdir.Subfield değeri sertifikanın konusu hakkındaki bilgileri kapsar.Eğer bu değer subfieldsız belirtilmişse ClientCertificate kolleksiyonu virgul ile ayrılmış SubFieldlar gonderir. Örneğin, C=US, O=Msft, vb..
ValidFrom
sertifikanın hangi tarihten itibaren geçerli oldugunu bildiren tarih.Bu tarih VBScript formatındır ve uluslararası ayarlar ile değişir. Örneğin, U.S.'de, 9/26/96 11:59:59 PM.
ValidUntil
sertifikanın hangi tarihe kadar  geçerli oldugunu bildirir.
SubField

C
şehir/kasaba adı
CN
Skullanıcı adı (sadece Subject keyi ile kullnaılır.)
GN
verilen ad
I
ilk oncekileri belirtir
L
Yöre
O
şirket yada organizasyon adı
OU
organizasyonel birimler
S
Eyalet
T
organizayon adı veya kişinin ünvanı
Clientcertificate ile ilgili bazı ornek ASP kodları
<%
  For Each strKey in Request.ClientCertificate
    Response.Write strkey & " = " & Request.ClientCertificate(strkey) & "<BR>")
  Next
%>

<%
  If Len(Request.ClientCertificate("Subject")) = 0
    Response.Write("No client certificate was presented")
  End if
%>

<%= Request.ClientCertificate("IssuerCN") %>

<%
  If (Request.ClientCertificate("Subject")="Msft")
    Response.Write("Good Choice!")
  End if
%>

<%= Request.ClientCertificate("ValidUntil") %>

<!--#include file="cervbs.inc" -->
<%
  If Request.ClientCertificate("Flags") and ceUnrecognizedIssuer then
    Response.Write "Unrecognized issuer"
  End If
%>