ASP Giriş 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

 

Mevcut teknolojiler

Başlangıçtan beri web sayfalarından veritabanına erişim için çeşitli standartlar ortaya çıkmıştır. Bu teknolojiler gün geçtikçe ilerlemekte ve daha kapasiteli hale gelmektedir. Yapısal olarak iki sınıfa ayırabiliriz.

1. Push Web Page Teknolojisi:

Statik web sayfaları kullanıcının etkileşimi ile değişmezler. Statik web sayfaları push teknolojisi olarak bilinen bir teknoloji ile oluşturulur. Push web page teknolojisinde önce sayfalarınızı yaratırsınız. Daha sonra bunu webserver üzerindeki bir dizine yüklersiniz. Daha sonra web server bunları Statik web sayfası haline getirir. Eskiden beri birçok site bu yöntemle yaratılmıştır. Bu siteler dataya dinamik olarak erişime izin vermezler. Push teknolojisi yaygın olmasına rağmen hızla gelişen Pull teknolojisi yavaş yavaş onun yerini almaktadır.

2. Pull Web Page Teknolojisi:

Pull teknolojileri SQL server’a yapılan bir query’nin karşılığı olarak dinamik olarak web sayfalarının inşa edilmesini sağlar. Bu query bir sorguyu oluşturan opsiyon kümesinden veya datayı güncelleyen standart Transact-SQL ifadeleri şeklinde olabilir. Bu erişim değişik teknikler sayesinde olur.

  1. Microsoft Internet Database Connector (IDC) dosyaları
  2. ActiveX Data Object (ADO)’lu Microsoft Active Server Pages (ASP)
  3. Microsoft Remote Data Services (RDS) (eski Advanced Data Connector-ADC)

3. SQL Server’a Diğer Erişim Metodları:

Microsoft’un şu anki yaklaşımına göre en iyi erişim metodu ADO’dur. ADO, OLE-DB uyumlu veritabanlarını sorgulamak için kullanılan erişim metodur. Siz Active Server Pages (ASP) scriptlerinizi yazarsınız, bunlar Internet Information Server (IIS) 3.0 ve daha yukarısı versiyonlarında işlenir ve kullanıcının web browser’ına gönderilir. ADO’ya yapılan çağrılar Microsoft’un VBScript programlama dili gibi server-side script ile yazılır. Sonuç olarak kullanıcıya gönderilen normal HTML kodu olduğundan karşı tarafta herhangi bir web client kullanılabilir.

Veritabanlarına ADO ile erişim, IDC dosyaları kullanarak erişime oranla çok daha kuvvetlidir ancak bunun yanında bir o kadar daha kompleksdir. ADO database erişiminiz için kodlamayı ASP dosyaları içinde yapabilir veya SQL Server' a çağrıda bulunan ayrı DLL’ler ve çalışabilir programlar şeklinde ActiveX kontrolleri yaratabilirsiniz. Bu ActiveX kontrolleri Microsoft Transaction Server’ın bir parçası olarak da çağırılabilir. Bütün bu teknolojileri ve beraber nasıl çalıştıklarını anlamak biraz zaman alabilir.

Son olarak; Microsoft Remote Data Services (RDS) olarak adlandırılan bir teknolojiye sahiptir. Bu teknoloji daha önce Advanced Data Connector (ADC) olarak biliniyordu. Bu teknoloji de veritabanlarını sorgulamak için ADO’yu kullanmaktadır ancak ActiveX kontrollerini kullanarak sizin client Web browserınız üzerinde çalışır. Bu yüzden Web browserınız ActiveX kontrollerini desteklemelidir.

Uygulama Ortamları ve Alternatifler

Web sayfanızı veritabanı ile ilişkilendirmek için bir çok alternatif vardır. Bunlar çok güçlü olmayan basit çözümlerden kullanılması güç olan çok kuvvetli araçlara kadar olan geniş bir yelpazeye sahiptir.

asp_pic_1.GIF (2910 bytes)

Şekil 2.1. Alternatiflerin karşılaştırılması

Yukarıdaki şekil iki koordinattan oluşmaktadır. Yatay eksen araçların özelliklerinin yeteneklerini alçaktan-yükseğe olacak şekilde derecelendirerek ölçmektedir. Dikey eksen kullanım kolaylığını gösterir ve alçaktan - yükseğe olacak şekilde derecelendirilmiştir. Her aracın matrixdeki pozisyonunu bulmak için iki eksende de karşılaştırılması yaparak değerlendirilmiştir. (Kaynak: Morrison M. “Special Edition Using Microsoft Visual Interdev” Macmillan Publishing, USA [1997]) Karşılaştırmadan da görebileceğiniz Visual Interdev .ok güçlü ve kullanımı kolay bir araçtır. Java programları ve appletleri platformlar arasında geçiş yapabilme özelliklerinden dolayı yetenek ekseninde Visual Interdev’den daha yüksek bir dereceye sahiptirler. Fakat aynı araçlar kullanım kolaylığı ekseninde ise Java programlama dilinin doğasından ötürü daha düşük değerler almaktadır.

Java, C++ benzeri bir dildir ve Visual Interdev ile karşılaştırıldığında çok kompleks kalmaktadır. Ayrıca Visual Interdev’de görsel olarak SQL sorgulamalarınızı oluşturabileceğinizden Visual Interdev’deki veritabanı araçlarının kullanımı çok kolaydır.

Visual Interdev hem web sayfası hemde uygulamalarımız için database çağrılarını oluşturmak amacıyla tek ortam sağlaması yeteneğiyle yüksek not almakatdır. IDC (Internet Database Connector) gibi daha önceki database çözümlerinde; SQL bilgilerinizi ve çağrılarınızı idare etmek için bir dosya ve HTML sayfası işlemek için ayrı bir dosya yaratmak gerekiyordu.

API, programlama yetenek ekseninde yüksek skorlar elde etmektedir ancak kullanılması diğer çözümlerden daha zordur. CGI sevenler ise karşılaştırma matrixinde CGI’ın derecesini görünce üzüleceklerdir. CGI veritabanı ilişkilendirme çözümü olarak kullanılmaya devam edecek ancak server bağlantılarının performansını arttıran API’lerin geliştirilmesi ve veritabanı uygulamamızı geliştirmek için harcadığımız süreye görsel araçların getirdiği kolaylıkların eklenmesinden sonra, CGI artık eski bir teknoloji sayılacaktır.

VISUAL INTERDEV

Visual Interdev’i diğer database bağlantı araçları ile karşılaştırdıktan sonra şimdi de Visual Interdev’in içerdiği bazı spesifik özelliklerden bahsedelim. Uygulamınızı geliştirmek için tam bir geliştirme ortamına sahip olmanın getirdiği avantajlar küçümsenemez. Yukarıda web-database bağlantı karşılaştırma matrixinde belirtilen bazı araçlara tanıdık olabilirsiniz. Bu çözümlerin bir çoğunda database bağlantısı sağlamak için ayrı geliştirme ortamı ve araçları kullanmak zorunda kalırsınız. Visual Interdev aşağıdaki özellikleri ve avantajları içeren tam bir geliştirme ortamı sunmaktadır :

  1. Kullanım Kolaylığı

Visual Interdev bir çok veritabanı aracını bütünleşik bir çatı altında toplayan benzersiz bir ortam sunmaktadır. Bundan dolayı Visual Interdev’in kullanımı çok kolaydır. Veritabanı bağlantınızı SQL çağrılarınızı ve HTML web sayfalarınızı oluşturmak için farklı araçlar ve ortamlar arasında geçiş yapmanız gerekmemektedir. Ayrıca Visual Interdev web sayfalarınıza database fonksiyonelliği ekleme süreci esnasında size toolbar' lar ve menu optionlarla rehberlik etmektedir.

  1. Görsel Ortam

Adından da anlaşılacağı gibi Visual Interdev uygulamalarınızı oluşturmak için size görsel bir ortam sağlar. Bu görsel ortam Visual Data Tool’ larını içermektedir. Bu araçlar SQL ifadelerinizi görsel olarak oluşturmanıza ve anında test etmenize imkan tanımaktadır. Sorgulamanızı oluşturabilmek için SQL detaylarını bilmenize hiç gerek yoktur. Kuvvetli SQL programcıları içinse araçların doğal görsel ortamı onların rutin sorgulamaları yazarken kaybettikleri zamandan tasarruf edip bu kazanılan zamanı daha kompleks SQL sorgusu yazarken harcamaya fırsat tanıyacaktır.

  1. RAD (Rapid Application Development)

Visual Interdev uygulamanızda hızlıca database ilişkisi oluşturmanızı sağlayan görsel bir ortam sağlar. Modern çağın gereksinimi olarak her zaman anında bilgiye ihtiyaç duyulmaktadır. Visual Interdev hem PC masaüstü hemde server databaselerinin her ikisini de destekleyerek RAD’ın arkasındaki teoriyi desteklemektedir. Database araçları uygulamanızı MS SQL Server gibi daha güçlü database programlarına geçirirken de kullanabileceğiniz ODBC uyumlu SQL çağrıları oluşturmanıza olanak verir.

  1. Etkinlik

Buraya kadar Visual Interdev’in sağladığı kolaylıklardan bahsettik. Bazıları bu kadar kolaylık sağlayan bir uygulamanın çok kuvvetli olamayacağını düşünebilir. Ancak Visual Interdev dünyanın en iyi kolaylık ve kuvvetlilik desteğini vermektedir. Visual Interdev ortamında kompleks SQL programlayabilirsiniz. Visual Interdev, Microsoft SQL Server, Oracle, Sybase, Informix, IBM DB/2, Microsoft Access, FoxPro, Paradox gibi ODBC uyumlu bütün veritabanlarını desteklemektir.

ACTIVEX DATA OBJECT (ADO)

ADO bütün Visual Interdev araçları için veritabanı erişimi sağlar. Web sayfalarınızla database ilişkisi kurmak için ADO temel modeli oluşturmaktadır. ADO web sayfalarınız ile herhangi bir ODBC uyumlu database arasında bağlantıyı sağlar. ADO modelinin ana faydası düşük memory overheadi ve yüksek sürattir ki bu da Web temelli uygulamalar için idealdir.

ADO, veri kaynağına erişimi sağlamayabilmeniz için ActiveX script kullanmanıza izin verir. Ayrıca ActiveX scripti bir ADO’nun özelliklerini ve metodlarını değiştirmek içinde kullanabilirsiniz. ADO, resimleri ve büyük binary nesneleri (BLOB) de içeren değişik veri tiplerini desteklemektedir. ADO transactionları, cursorları, hata yönetimini ve veritabanı içinde oluşturulmuş Stored Procedure' lerin kullanımını destekler.

Microsoft, ADO’yu web sayfalarınızdan bir veritabanına erişmek için dilden bağımsız objeler olması için yarattı. ADO, Microsoft’un OLE database modelinin üzerine inşa edildi. DAO (Data Access Object) ve RDO (Remote Data Objects)’ya aşikar olan Visual Basic programcıları Microsoft’un kısaltmaları birleştirip harflerle oynadıgını düşünebilir. ADO hem RDO’dan hem de DAO’dan daha üstündür. ADO daha önceki veri erişim metodlarını nesneye yönelik bir standartla birleştirirken RDO ve DAO’nun özelliklerini de içermekte ve OLE modelini kullanarak İnternet için veri erişimi sağlama yeteneğini arttırmaktadır.

DAO (Data Access Object) ilk olarak Microsoft Visual Basic ve Microsoft Access’in önceki versiyolarında bulunuyordu. DAO bir objenin kapsamı içerisinde database fonksiyonlarını ve işlemlerini birleştirmek için geliştirildi. DAO ODBC-uyumlu databaselere erişimi sağlamaktadır.

RDO ise DAO’dan daha üstündü ve Visual Basic 4’ün içine koyulmuştu. RDO ODBC-uyumlu databaselere erişim için daha iyi bir çözümdü ve bu objelerin server’a olan erişimlerini arttırmıştı. Bu iki metodun üzerine ADO’nun avantajı bağımsız olarak objeleri yaratabilmenizdir. Hem RDO hem de DAO’da objeler için bir hiyerarşi yaratmak zorundaydınız. Ayrıca ADO bu metodlara oranla daha hızlı ve daha etkindir.

OLE DB’nin arkasındaki fikir remote objectleri sanki local’miş gibi gösteren bir nesne temelli arayüz sağlamaktır. Amaç uzaktaki server makinada ya da kendi makinanızda bulunan yardımcı objeler sayesinde database erişiminizi sağlayabilmenizdir.

asp_pic_2.JPG (13039 bytes)

Şekil 2.2 SQL Server veritabanına erişim

Yukarıdaki şekilde ADO ve OLE-DB' nin birlikte Microsoft SQL Server database’ine erişim sağlamak için nasıl çalıştıklarını görüyoruz. ADO web server üzerinde ASP içinde yer alır. Browser database bilgisi için istek gönderdiğinde ASP çağrılır ve ADO OLE DB aracılığıyla isteği database server’a gönderir. MSDA SQL spesifik bir SQL dilidir ve Microsoft Access ve Microsoft SQL Server kendi veri kaynakları ile haberleşmede kullanımı desteklemektedir. ODBC sürücüsü her database için MSDA SQL’i spesifik bir dile çevirir. Daha sonra bu bilgi bu hat boyunca ilerler. ASP ve ADO sonuçları düzenleyip browser’a geri göndermek için beraber çalışırlar.

ADO’nun nesne-temelli bir çözüm olduğundan bahsetmiştik. ADO modelinde 7 ana nesne mevcuttur :

- Connection Object

- Command Object

- Recordset Object

- Field Object

- Parameter Object

- Property Object

- Error Object

Bu modelde Connection objectinin temel object olduğunu görüyoruz. Modeldeki diğer bütün objectler Connection objectine bağlıdır. Veritabanına bir bağlantı olmadan diğer nesneler varolamayacağından bu hiyerarşi önemlidir. Oluşturulan yeni bir Recordset'i mutlaka daha önce tanımlanmış bir Connection objesinin altına koymak yerine, yeni bir Connection yaratarak onun altında oluşturmak mümkündür. ADO modelinin bu yapısal doğası kodun daha düzenli olmasına katkıda bulunur.

Connection Object

Database ile olan bağlantınızı kontrol eder. Bağlantı ile ilgili bütün bilgiler bu object sayesinde sağlanır. Connection Objectinin timeout gibi özelliklerini değiştirebilirsiniz. Database ile olan bağlantıyı açıp kapatabilir ve transaction özelliklerini düzenleyebilir.

Command Object

Command objecti database üzerinde çalıştıracağınız spesifik bir komutu tanımlamanızı sağlar. Mesela Command objesini bir stored procedure’ü çağırmak için kullanabilirsiniz. Command Objectini daha önce yaratılmış bir connection objesi ile ilişki kurarak oluşturmak zorunda değilsiniz. Bu ADO’nun diğer database iletişim metodlarından farkıdır. Komutlarınız için object hiyerarşisini kullanmak zorunda değilsiniz.Yine de aynı database bağlantısı üzerinde bir çok komut çalıltıracaksanız, objelerinizi bir hiyerarşi altında düzenlemek daha doğru olur.

Recordset Object

Bu object sayesinde kayıtları ya da database tablosundaki satırları düzenleyebilirsiniz. Bir recordset bir temel tablodaki bütün satırları tutabilir veya bir sorgulamanın sonuç kümesinden de oluşabilir. Recordset objecti hem anında hem de toptan güncellemeleri destekler.

Recordset objecti veritabanının desteklediği değişik tipte cursorler kullanmanıza izin verir. Cursor veritabanında nerede olduğunuzu ve nereye gideceğinizi belirtir. Bazı cursorler:

Dynamic : Diğer kullanıcılar tarafından yapılan silme, değişiklik ve eklemeleri gösterir.

Keyset : Değişiklikleri gösterir ama eklemeleri ve silmeleri göstermez.

Static : Datanın bir kopyasını gösterir. Değişiklikleri, silmeleri ve eklemeleri göremezsiniz.

Forward-only: Static ile aynı tablo içinde sadece ileri doğru ilerleyebilirsiniz.

Field Object

Field objecti recordset içerisindeki özel bir sütun ile ilgilidir.

Parameter Object

Paramater objectini bir veritabanına karşı komut işletirken parametre tanımlamak maksadı ile kullanabiliriz. Mesela bu objeyi database üzerindeki bir stored procedure’e geçirilen parametrelerin değerlerini ayarlamak için kullanabiliriz. Bu object genelde Command Object ile beraber kullanılır.

Property Object

Property objecti dataya erişimi ve sorgulamayı sağlayan özel servisleri gerçekleştiren ve servis sağlayıcı tarafından belirlenen spesifik özellikleri yakalar. OLE DB servis sağlayıcılarını, ActiveX Data Object’e ek karakteristikler ve özellikler sunmak üzere ayarlayabilir, daha sonra bu özellikleri uygulamanızın kapasitesini arttırmak için kullanabilirsiniz. Örneğin Property Objectini bir servis sağlayıcısının transactionları destekleyip desteklemediğini anlamak için kullanabilirsiniz.

Error Object

Error objecti veritabanı tarafından üretilen hata mesajlarını toplar. Bir veritabanı fonksiyonunu gerçekleştirmeye çalışırken oluşan herhangi bir hata bu object içinde tutulur.

ODBC Data Source Name (DSN)

Open Database Connectivity yani ODBC veritabanına erişimi sağlayan bir standarttır. Oracle, SQL Server, Sybase, Interbase, Paradox gibi bir çok veritabanı sistemine erişimi sağlar. NT işletim sisteminde DSN tanımlayarak veritabanlarına ulaşılabilir. Bu Delphi' de Borland Database Engine için Alias tanımlamaya benzer.

  1. File Data Source

Bir File DSN belirli bir bilgisayar dahilinde dosya temelli bir bağlantı kurulmasını sağlar. Ve bu bağlantı bir çok kullanıcı tarafından paylaşılabilir. Dosya temelli bağlantıdan kastedilen bir veritabanına bağlanırken gerekli olan bilgilerin bir .dsn dosyasında saklanıyor olmasıdır. Bu bilgisayarda veritabanına bağlanabilmek için ODBC driver yüklemiş olmanız gerekmektedir. Uygulama için veritabanı bağlantısı gerçekleştirildiğinde .dsn dosyasındaki bilgi global.asa dosyasındaki bağlantı stringinin içine eklenir.

File DSN bazen DSN-less bağlantı olarak adlandırılır çünkü bağlantı bilgisi başka herhangi bir yerde değil projenizin içinde saklıdır. File DSN taşınabilirlik özelliğinden dolayı tercih edilmektedir. Uygulamanızı taşıdığınızda ek olarak bir DSN dosyası da kopyalamak ya da yaratmak zorunda değilsiniz.

  1. Machine Data Source:

İki tip Machine Data Source oluşturulabilir. Birincisi User DSN olarak adlandırılır. Bu tip DSN’ler sadece belirtilen kullanıcılar tarafından kullanılabilir ve makineye özeldir. System DSN ise diğer Machine Datasource tipidir. Bir System DSN’i de makineye özeldir ancak bir çok kullanıcı tarafından kullanılabilir, yani kullanıcıya özel değildir. Bu bilgiler Windows Registry’sinde saklanır ve eğer uygulama başka bir makineye taşınacaksa bu bilgilerde geçirilmelidir. Genellikle File DSN tercih edilir çünkü her kullanıcı için ayrı bir dsn kurulmak zorunda değildir. Machine Datasource makineye özel tanımlandığından uygulama başka bir platforma taşındığı için yeniden tanımlanmak zorundadır

 

ASP Giriş

ASP GİRİŞ.  

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.

 

 

ASP 2

 

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 InetpubASPSampSamples 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

%>

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.

5-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

 

Bahriye BAŞTÜRK , ASP