1 Mayıs 2009 Cuma

FTP Protokolü

FTP Nedir?

FTP (File Transfer Protocol) Internete bağlı bir bilgisayardan diğerine (her iki yönde de) dosya aktarımı yapmak için geliştirilen bir internet protokolü ve bu işi yapan uygulama programlarına verilen genel addır. İlk geliştirilen internet protokollerinden biridir. FTP protokolü ile bir başka bilgisayardan bir başka bilgisayara dosya aktarımı yapılırken, o bilgisayar ile etkileşimli-aynı anda (on-line) bağlantı kurulur ve protokol ile sağlanan bir dizi komutlar yardımıyla iki bilgisayar arasında dosya alma/gönderme işlemleri yapılır.

FTP Protokolünün Özellikleri;

*Kalıcı bağlantılar kullanılabilir.
*Veriler ve komutlar ayrı porttan aktarılır
*Güvenlik mekanizması sunar (istemci sunucuya kendini tanıtır)
*Anonim bağlantılara izin verir. Anonymous kullanıcı tanımlıdır. Ama bu hesap kapatılabilir.
*Kota bantları tanımlanır. Klasör,dizin için kota tanımlanır.
*Bir çok web serverinde,web yayınlanmasında dosya aktarımında ftp kullanılır.
*Dosya aktarmada kısıtlama getirilebilir.
*FTPde mb,gb büyüklükte dosyalar aktarılır. FTP, HTTPye göre daha az kullanıcıya hizmet eder.
*Anonim kullanırken dosya paylaşımı için bizden de dosya yüklememiz istenebilir( buna upload-download oranı denir)
*IP kısıtlanabilir.
*Unix temelli bir protokoldür.
*HTTP sunucuları için dosya aktarımı sağlar.
*Dosyaya ait tarih saat olgusu sunmaz.


FTP yapmak için neler gerekir?

FTP yapmak, bir bilgisayara FTP protokolü ile bağlanmak eylemini anlatan yarı Türkçe yarı İngilizce bir deyimdir. FTP yapmak için,
  • bağlanacağımız bilgisayarın internet adresi (nümerik ya da sembolik formatta)
  • bağlanacağımız bilgisayarda dosyalarına ulaşmak istediğimiz hesapla ilgili kullanıcı numarası ve varsa şifresi
  • Internet erişimi olan, üzerinde FTP yazılımı bulunan bir bilgisayar
  • bağlanacağımız bilgisayarda, FTP protokol komutlarını yorumlayacak çalışır durumda bir FTP Servis programı (FTP Sitesi)
  • gereklidir.

FTP ile nasıl bağlantı sağlanır?

Bağlantı, tanıtıcı adı (host name) veya internet numarası kullanılarak iki biçimde yapılabilmektedir. Ancak uygulamada daha sık olarak tanıtıcı adı kullanılmaktadır. Bağlantının yapılabilmesi için; ftp bağlanılmak istenen tanıtıcı ad formatı kullanılmaktadır. Bir makinayla olan bağlantıyı kapatıp diğer bir makinaya bağlanmak için önce close ile bağlantı kesilip, open makina ismi ile yeni bağlantı kurulur. FTP ile bağlantı kurulduktan sonra temel Unix komutları kullanılarak işl emler yapılmaktadır.

FTP nasıl yapılır? Temel FTP komutları nelerdir?

Genel kullanım : ftp şeklindedir. Bundan sonra, ilgili bilgisayara bağlanıldığında, kullanıcı numarası ve parola (password) sorulur. Daha sonra da, o kullanıcının makinasına baglanılmış olur. Bu şekilde, etkileşimli bir ortamda, (genellikle ftp> ile gösterilir) bazı komutlar verilerek iki makina arasında dosya işlemleri, ayrıca bağlanılan makinada bazı temel dosya/disk işlemleri (dizin açma, dosya silme vb) yapılabilir. Bazı temel FTP komutları ve kısa tanımları aşağıda listelenmiştir.:

Standart FTP komutları :

cd : Dizin değiştirme (cd ) (cd .. : bulunulan dizinden bir öndekine geçme)
pwd : Bulunulan dizinin ismini verir
dir : Bulunulan dizindeki dosyaları listeleme
ls : Bulunulan dizindeki dosyaları kisa olarak listeleme (Örnek kullanımlar : ls -lr : ayrıntılı, tersten alfabetik listeleme; ls -lr |more : sayfa sayfa listeleme (dizin içinde cok fazla sayıda dosya varsa bu kullanım oldukça yararlıdır))
get : Dosya alma (get (). ( seçimliktir, kullanılmayabilir. Bu durumda dosya_adı aynen kullanılacaktır.
put : Dosya gönderme (put ()
mget : Birden fazla dosya almak istendiğinde kullanılır. Örnek kullanımlar: mget *.zip, mget a*.* vb..
mput : Birden fazla dosya göndermek istendiğinde kullanılır.
ascii : Dosya aktarımlarında aktarım modu olarak ASCII kullanılacağını belirtme.
binary: Dosya aktarımlarında aktarım modu olarak BINARY kullanılacağını belirtme. Arşiv dosyaları (zip, arj, z, zoo, hqx vb), calıştırılabilir programlar (.exe, .com), resim formatlı programlar (gif, jpeg vb) FTP ile alınmadan/ya da gönderilmeden önce mutlaka bu komut verilmelidir.
delete: FTP yapılan yerde bir dosyayı silme (delete , eğer yetkiniz varsa kullanabileceğiniz bir komuttur)
Stat:Bağlantı durumu hakkında bilgi verir
Syst:Sunucunun işletim sistemi bilgisini gösterir
mkdir : FTP yapilan yerde yeni bir dizin oluşturma (mkdir , eğer yetkiniz varsa kullanabileceğiniz bir komuttur)
rmdirtype: : FTP yapılan yerde boş bir dizini silme (rmdir , eğer yetkiniz varsa kullanabileceğiniz bir komuttur)
type:Verinin ifade edileceği formatı belirtmektedir.
pasv:Verinin aktarılacağı port üzerinde sunucunun dinleme moduna geçmesini sağlar.
help : Kullanılabilecek komutlar ile ilgili bir yardım ekranı çıkarır.
strv:Dosya yapısı hakkında bilgi verir.
lcd : FTP ortamından çıkmadan, kendi makinanızda dizin değiştirmenizi olanaklı kılar.
close : FTP ortamından çıkmadan, sadece ilgili bağlantıyı kapatmak için kullanılır.
quit : FTP ortamından çıkmak ve bağlantıyı kapatmak için kullanılır (bye komutu da aynı işi görür).
Bazı FTP merkezleri, tüm bir dizini sıkıştırarak gönderme kabiliyetine sahiptir. Söz gelimi, linux isimli bir alt dizini, GET linux linux.zip şeklinde sıkıştırılmış olarak alabiliriz. Ancak, bu özellik her FTP merkezinde olmayabilir.


Kütük Transferi

Internet aracılığı ile kütük transferinin yapılması için get,mget, put ve mput komutları kullanılmaktadır. Ancak transfer edilecek kütük tipine bağlı olarak, transfer tipinin seçilmesi gerekmektedir. Internette iki tür transfer tipi vardır.

Ascii: Bilgisayarlar arasında text kütüklerinin transferi için uygundur.

Binary: Text içeren veya içermeyen imaj ya da program kütüklerinin transferi için kullanılır. Uzantısı z, Z, exe, zip, tar, com, sys, gz veya ps olan kütükler binary tipinde alınmalıdır. Burada z, Z, zip, tar, gz uzantıları o kütüğü n sıkıştırılmış olduğunu ps ise o dosyanın Postcript yapıda olduğunu gösterir. Uygun programlar ile bu kütüklerin transfer işleminden sonra açılmaları gerekmektedir.

Firewall

Firewall (Ateş duvarları);ağı iç ağ ve dış ağ olarak ikiye ayırarak denetimi sağlayan bir yapıdır.Dış ağdan gelen zararlı tehlikelere önlem olarak kullanılan etkili bier sistedir.Firewall, ağın içinden veya dışından gelen yetkisiz erişimleri engelleyen, süzen ve izin denetimi sağlayan yazılımlar veya donanımlardır. Ateş duvarlarını yazılımsal, donanımsal veya her ikisinin de bir arada olduğu gruplara ayırabiliriz. Aslına bakarsanız donanımsal olanların üstünde de bir çeşit gömülü yazılım (firmware), BIOS vs ismi altında yazılımlar çalışmaktadır.Ateş duvarı deyince sadece bizi dışarıdan gelen saldırılara karşı koruyan birşey düşünmemek gerekir. Gelişmiş ateş duvarları bunların dışında NAT (Ağ Adres Çevrimi), VPN (Sanal Özel Ağ) gibi teknolojileri de bize sunarlar.


Firewall Üzerinden Yapabileceğimiz İşlemler
Girilecek olan IP aralıkları belirlenip onların dışına çıkılması yasaklanabilir.Virüs taraması yapılabilir.Virüslü dosyaların gönderimi ve alımı engellenebilir.Sözcükler belirlenip o sözcükleri içeren web sitelerine giriş yasaklanabilir.İçerik iltesi yapılabilir.Örneğin akademik sitelere erişim için yasaklar kaldırılabilir veya cinsel içerikli sitelere erişi yasaklanabilir.Herhangi bir adrese olan erişime engel konulabilir ve son olarak ta internetin bant genişliği ayarları yapılabilir.Band genişliğini belirli bir seviyeye değiştirebiliriz.


WINS: Microsoftun çıkarmış olduğu bir yapıdır. TCP/IP üzerinde NetBIOS kullanan yönlendirilmiş ağlardaki NetBIOS ad çözümlemesinde kullanılan bir yapıdır.Host adı ile Ip dönüşümünü içerisinde barındırır.Aynı zamanda, kendine bildirilen kayıtları listeler haline tutar ve istendiği takdirde onları verebilen bir yapıdır.

NFS: Sun firmasının geliştirmiş olduğu bir yapıdır.

SMB: IBM tarafından geliştirilmiş bir yapıdır. Türkçe karakterleri içerisinde barındırmaz ve DOS işletim sisteminden beri kaynaklarını paylaştıran bir yapı olmuştur.

Active Directory

Active Directory, Ağ üzerinde bulunan tüm bilgilerin (örneğin kullanıcılar, gruplar , bilgisayarlar vb.) depolanmasını sağlayan ve bu bilgilerin kullanıcılar ve yöneticiler tarafından kolayca kullanılmasını ve bulunmasını sağlayan bir servistir. Ayrıca güvenlik, oturum açma sırasında kimlik denetimi gibi işlemlerde Active Directory ile bütünleşik olarak çalışmaktadır.
Microsoft ağlarında kullanılan dizin hizmetidir.
Bu veritabanı, kullanıcılar, bigisayarlar, mekanlar, yazıcılar gibi organizasyonun tüm bilgilerini saklar. Bu dizin vasıtasıyla çeşitli yönetimsel kısıtlamalar oluşturulabilir ya da kullanıcıların çalışma ortamları ihtiyaçlar ve standartlar doğrultusunda şekillendirilebilir. Bu şekillendirmeler Grup İlkesi sayesinde yapılır.

Active Directory'nin ilk uygulaması, Windows Server 2000 ile gerçekleşmiştir. LDAP uyumlu bir veritabanıdır.
Active Directory'nin Genel Özellikleri
-Tek bir noktadan yönetim
-Organizasyon
-Yönetim
-Kontrol

Active Directory'nin Genel
Özellikleri
-Network’ün domain olarak adlandırılan birimler halinde düzenlenmesini sağlar.
-Kullanıcıve grupların listesini merkezi olarak tutar.
-Kullanıcıve grupların ancak gerekli izinlere sahip olmasıdurumunda kaynaklara erişmesini sağlar.
-Domain içindeki nesnelere birçok özelliklerinden erişimi sağlar.
-Domainin OU adıverilen alt parçalara bölünmesini sağlar. Bu yönetimin delege edilmesini sağlar

Web Servisleri

Bu sistem http protokolü üzerinden çalışan bir yapıdır.Veri depoları etiketleri arasında tanımlanmıştır.Web'in 2.0 ve sonrası sürümlerinde etkisini gösteren bir kavramlardandır.Bilgiler "XML" formatındadır.Kullanıca bilgi vb konularda yardımcı olmaktadır.Farklı noktalardan girilen bilgilerin farklı işlenmesini sağlar. Verinin istendiği gibi yapılandırılmasını sağlar. XML herhangi yapısal bilginin saklanmasında ve farklı işleme ortamlarında bilginin transferinin mümkün olmadığı koşullarda bilginin evrensel yapılandırılması için kullanılmaktadır.XML, farklı türdeki ve yapıdaki dokümanların tanımlanması için kullanılan uluslararası bir standarddır.Bilgi içerikli metin ifadeler olduğu dolayısıyla güvenlik tehditleri çok fazladır.İki türlü güvenlik önlemi mevcuttur;
Simetrik şifreleme: Belirli anahtara bağlı kalınarak oluşturulan bir şifreleme türüdür. Anahtar karşı PC tarafından bilineceğinden kullanımı büyük riskler taşımaktadır.
  • Blow Fish: Eski bir algoritmaya sahiptir. En temel şifreleme algoritmalarına sahiptir.
  • Idea: Gelişmiş bir şifreleme standardıdır.Ücretli ve lisanslı kullanımı gerekmektedir.Bu sebeple de çok yaygınlaşmamıştır.
  • 3Des: Daha önce IBM tarafından geliştirilmiş olan Des'’in gelişmiş bir halidir.Birçok farklı anahtar ve daha gelişmiş güvenlik yapıları vardır. Günümüzde de bankalar bu standardı kullanmaktadırlar.
  • Twofish: Gelişmiş bir şifreleme standardıdır.Kullanımı çok yaygın değildir.
  • AES: Yaygın olarak kullanılan şifrelemedir. zip şifrelemede kullanılır.
  • RC4 ve RC5: Günümüzde en çok kullandığımız bir algoritma yapısıdır.Şifreleme yapısı olark en çok tercih edilenlerdendir.Bu şifrleme algoritması da lisanslı olup kullanım için ücret verilmesi gerekmektedir.

Asimetrik şifreleme: Günümüzde daha çok kullanılan bir şifreleme yapısıdır.. Bağlantı sırasında karşı taraftaki bilgsayara anahtarı aynen göndermez.Bu da simetrik şifrelemeye göre daha çok tercih edilmesinin sebebidir.Gönderilen anahtar asimetrik bir yapıya sahip bir anahtar olmaktadır.Çeşitli yapıları vardır;

Açık Anahtar: Açık bir anahtar yapılanmasına dayanan bir sistemdir. Güvenlikte önlemler bir 3. kişiye bağlıdır.Belirli bir süreç içerisinde gerçekleşen bir yapıdır. Bu 3. kişi istemci ve kullanıcı tarafından kabul gören bir sertifika otoritesidir.Tanımlanacak olan genel ve özel anahtarlar sertifika otoriteleri tarafından tanımlanmaktadır.

Nesnelerin Ağ Üzerinden Aktarılmasının 2 protokolü vardır.

a) RTSP Komut Yapısı
(Gerçek Zamanlı Akış Protokolü)
  • Describe: Listelere ulaşmak için kullanılan medya parametrelerini listeler.
  • Teardown: Veri aktarımı keser.
  • Play: Sunucudan istemciye veri akışını başlatır.
  • Record: İstemciden sunucuya veri aktarımını başlatır.
  • Pause: Veri aktarımını durdurur.
  • Setup: Oynatıcı ve kullanıcı arasında mantıksal bir kanaldır.

b) Voip:
İnternet protokolü üzerinden ses aktarımı yapar. 3. Katmanla IP üzerine yapılandırılmıştır.İnternet üzerinden ses taşınmasını sağlayan bir yapısı bulunmaktadır.

H323 protokolü:

Telefon sinyallemesi yapan bir sistemdir.Daha önceleri var olan bir yapı olan POTS sistemi yerine geçimş bir sistemdir.
Adresleme olrark telefon numarasının kendisini kullanır.mesaj formatı ikili kodlar ile yapılmaktadır.Arama sonlandırması komutla veya tcp bağlantısının kesilmesi ile gerçekleşir.Geişmiş bir yapıya sahiptir.Kurulacak olan iletişimin nasıl tanımlanacağını belirler.RFC ile tanımlanmış bir yapıdır.Telefonlarla genelde uyumlu çalışmaktadır.ASCII kullanır. Gelişmekte olan bir yapıdır.Yapısında url de tanımlanmışır.

Windows Server 2003 de Web Sitesi Oluşturma ve Yayınlama

Windows Server 2003 Üzerinden Bir Web Sitesi Oluşturmak ve Yayınlamak
IP si 10.0.0.5 olsun ve Adresi de: http://www.kanarya.org/ olsun
c:\kanarya klasörünün içinde olacak.
php uzantılı bir site olacak ve
php5isapi.dll uzantılı olacak.





Yapılacak ilk işlem Blgisayarım sağ tıklanarak ,Bilgisayarı Yönet seçilir
Internet Information Service kısmından web sitesi klasörüne tıklanır


Karşımıza "Web sitesi oluşturma sihirbazına hoşgeldiniz" mesajının gelmesinden sonra ileri butonuna basılır


Web sitemizin adresinin www.kanarya.org olarak tanımlıyoruz

Web sitesi için kullanılacak IP ve TCP bağlantı noktası seçilir
ana üst bilgisi www. kanarya.org olarak yazılır


Web sitesi için giriş dizini belirlenir.

Web sitesi erişim izinleri belirlenip, İleri butonu tıklanır.


Adresi kanarya.org'un olan sitemizin özellikleri belirlenir ve Web sitemizin TCP ve IP gibi kimlik bilgileri tanımlanır

Kaynak içeriğinin alınması gereken yer belirlenir
Uygulama ayarları yapılır
Çalıştırma izinleri ve uygulama havuzu belirlenir

Uygulama yapılandırması yapılır.

Uygulama uzantısı eşlemesi ekleme ve düzenle seçenekleri yapılır
Tüm filler seçilir. çalıştırılabilir ve dahil hat seçilir.

Uygulama yapılandırması seçeneğinden ISAPI uzantılarını ön belleğe al kutucuğu tiklenir
ve Tamam'a tıklandıktan sonra web sitesi oluşturma gerçekleşir.

HTTP Protokolü

HTTP PROTOKOLÜ

Hypertext Transfer Protocol (HTTP) (Köprü Metni Aktarım Protokolü) Web sunucuları ile Web tarayıcılarının Internet üstünden birbirleri ile haberleşmek için kullandıkları ortak dildir. Bu protokol kullanıcı ile sunucu arasındaki mesaj alısverisinin hangi formatta olacagını belirler. Güvenilir bilgi iletimi gerektirdigi için mesajlar TCP baglantısı ile iletilir. Dolayısıyla kullanıcı ile sunucu arasında bir bilgi alısverisi olmadan önce, iki nokta arasında TCP baglantısı kurulur. 80 numaralı TCP portunu kullanır. HTTP’de aktarılan veri dosya olmak zorunda değildir.Bu nedenle aktarılan nesneler hipermetin olarak isimlendirilir.Web siteleri büyük küçük bir çok dosyadan oluşur.Bir istek geldiğinde bu dosyaların hızlı bir şekilde aktarılması gerekir.Bu aktarma işleminde ftp yetersiz kaldığı için HTTP protokolü tanımlanmıştır. HTTP kalıcı bağlantıları desteklemez .İstemciden bir istek gönderildiğinde sunucu ile bağlantı kurulur cevap gelir ve bağlantı kesilir.HTTP 1.1 sürümü kalıcı bağlantılara destek vermektedir.Fakat yaygın kullanılmamaktadır.Bunun sebebi birden fazla kullanıcıya hizmet verirken zaman sorunları. HTTP bir 7.katman protokolüdür ve smtp’de olduğu gibi MIME yapısına benzer bir yapı tanımlanmıştır.Bir Web tarayıcısı bir web sayfası talep ettiğinde, Web sunucusuna bir request/istek gönderir. Bu istek mesajında bir Header (başlık) ve belli durumlarda bir Body (gövde) kısmı bulunur. Web sunucusu da bu istek mesajına bir response/yanıt mesajı ile karşılık verir. Bu yanıt mesajında da her zaman bir Header ve çoğu zaman bir Body kısmı bulunur.HTTP bir istek/yanıt protokolüdür. Her yanıttan önce bir istek verilmiş olmalıdır.Her ne kadar istek ve yanıt mesajlarının içerdikleri bilgiler farklı olsa da Header/Body yapısı ortaktır. Header’da mesajla ilgili Meta-bilgileri, Body’de mesajın içeriği bulunur.
Http ‘nin İstek Komut Yapısı
----------------------------------------------------------------
KOMUT PARAMETRE HTTP SÜRÜMÜ
----------------------------------------------------------------



HTTP isteğinin ilk satırı istek yöntemini, istenilen kaynağın URL’sini ve protokolün sürümünü içerir.

  • İstek komutları büyük ve küçük harfe duyarlıdır ve her zaman büyük harf ile yazılırlar.
  • HTTP’de tanımlanmış birkaç farklı istek yöntemi olmasına rağmen Web sunucu tümünü her bir kaynak için desteklemiyebilir.
  • Bu yöntemlerin en yaygınları GET, HEAD ve POST’tur.

    Bazı HTTP Komutları

  • GET: Dosya çağırma komutudur.

  • HEAD: Get komutuna benzer ancak sadece başlık bilgilerini gönderir.
  • POST: Postun farkı parametre içermesidir.
  • DELETE: Web sayfasını siler.
  • OPTIONS: Verdiğimiz komutun türünü belirtir.
  • PUT: Bir web sayfasını saklamak üzere gönderir.
  • TRACE: Web sunucularını kontrol etme işlemidir.


İstek Mesaj Header (Başlık) Yapısı

İstemci genelde istek mesajı ile bir kaç tane Header alanı da gönderir. Bunlar, isim ve değerden oluşur. Bu alanlar, istek ya da istemci hakkında daha fazla bilgi vermek ya de isteğe durum koşulları eklemek için gönderilirler.








Sunucu Cevap(Response) Komut Yapısı

Sunucu yanıtlarında, istemcinin gönderdiği istek mesajlarında olduğu gibi her zaman bir header ve opsiyonel bir body kısmı bulunur.

--------------------------------------------------------------------------
HTTP/1.1 XXX (Cevap kodu 3 haneli numaralardan oluşur)
Açıklamalar

--------------------------------------------------------------------------



İlk satır olan Status Line’da protokol ve sürümü, cevap kodu ve cevapın yazılı mesajı bulunur.Cevap kodları 3 haneli rakamlardan oluşur.İlk hanesi verdiğiniz komutun tür bilgisini içerir.

İlk satır olan Status Line’da protokol ve sürümü, cevap kodu ve cevapın yazılı mesajı bulunur.Cevap kodları 3 haneli rakamlardan oluşur.İlk hanesi verdiğiniz komutun tür bilgisini içerir.

Cevap Kodları

  • Seri 1xx : Alt seviye HTTP etkileşimlerinde kullanılırlar.

  • Seri 2xx : İstekle ilgili herşeyin uygun ve düzgün olduğunu belirtirler. 200: OK ,204: No Connect mesajı verir.

  • Seri 3xx : Genellikle bir çeşit yönlendirme ifade ederler. İstek geçerliydi fakat Web tarayıcı istenilen içeriği başka bir yerde/adreste bulmalı.

  • Seri 4xx : Bir hata oluştu ve bu hatanın sorumlusu sunucu değil, sunucu hatadan dolayı Web tarayıcısını sorumlu tutuyor. 404 : sayfa bulunamadı,403 : yasak,408 istek zaman aşımına uğradı.

  • Seri 5xx : Bir hata oluştu fakat bu sefer hata Web tarayıcıdan kaynaklanmıyor, hatanın sorumlusu sunucu ya da sunucuda çalışmakta olan bir betik.

Cevap Başlık Yapısı

Content-Base :Tüm göreli URL’leri çözümlemek için sunucunun taban (base) URL’ini tanımlar
Content-Length :Yanıt mesajının Body kısmının boyutunu (byte olarak) belirtir
Content-Type :İsteğin ortamını (media) belirtir
Date :İsteğin gönderildiği tarih ve zamanı tanımlar
eTag :İstenilen kaynak için bir varlık etiketi (entity tag) yaratır
Last-Modified :İstenilen kaynağın en son ne zaman değiştirildiğini tanımlar
Location :Kaynağın bulunduğu yeni yeri belirtir
Server : Web sunucunun adını ve sürümünü tanımlar
Set-Cookie :Sunucunun, Web tarayıcının daha sonraki isteklerinde göndermesini istediği bir isim ve değer çifti tanımlar.Set cookie ile sununun istemciyi tanıyarak dosyaları tekrar yüklemesi engellenir.
WWW-Authenticate :Doğrulama şeklini ve metodunu tanımlar


HTTP Protokolünün Özellikleri

Http kalıcı bağlantılarda etkili bir yapıya sahip değildir.HTTP protokolü sayesinde kullanıcılara birçok sınırlandırmalar yapılabilmektedir.
  • Dizin güvenliği: Dizinlere ait özellik ve sınırlamaların belirlendiği kısımdır.Klasörlere yetkilendirme yapılmaktır.
  • Varsayılan dip not: Gönderilecek olan bilgilerin içerisine önceden belirlenmiş bir html nesnesinin eklenmesidir.Örneğin; Web sitesinin adı
  • Giriş dizini: Dizin içerisinde varsayılan içerik bulunamamışsa ve klasöre istek yapılmışsa klasör içeriği listelenir. http://localhost veya http://127.0.0.1
  • Anonim: Herhangi bir kullanıcı adı ve parolası girilmeden erişimi sağlamaktadır.Kullanıcı adı ve parolası girilmez. USS_WIN2003 bu kullanıcı adı IIS kurulurken oluşturulur. Kullanıcı adı ve parola ile de hizmet verilebilir. Ayrıca belirli IP blokları arasındaki bağlantılara cevap verebilme gibi birçok ayarlar buradan yapılmaktadır.
  • İçerik derecelendirme: Http üst bilgisi ile kullanıcılara bazı kategorilerde ne tür içerik olduğu gönderilebilir. Web tarayıcıardaki bu bilgi yığınına bakıp içeriki ksıtlaması yapılabilir.
  • Mime türleri: web sitesi ilk oluşturulduğunda tüm uzantıları desteklemez. Bazı uzantıların desteklenmesi için bunların tanımlanması gerekmektedir. Bunları Mime aracılığı ile yaparız. Hangi uzantıya hangi veri yığını göndereceğimizi tanımlanır.
  • BITS: Bir tür aktarımım biçimidir . Microsoft kullanır. BITS ile büyük boyutlu dosyalar daha kolay gönderilir.
  • ASP.net: Asp sürümlerini tanımlayabiliriz. 1 ve 2 sürümlerinden hangisini kullanacağımızı belirleyebiliriz. Yapılan projenin asp ise dll dosyasının doğru şekilde yorumlanabilmesi için sürümünün seçildiği bölümdür.
  • ISAPI: exe dosyası gibidir, DLL uzantılıdır. Bir dosyayı çalıştırılabilir olarak tanımladığımız zaman, DLL uzantılı bir dosyaya istek yapıldığı zaman o dosyanın içeri kullanıcıya gönderilmez. Dosya çalıştırılır, bir değer çıkar ve bu değer kullanıcıya gönderilir. DLL çalıştırılır ve kullanıcıya çıktısı gönderilir.
  • NOT:Adres çubuğunda herhangi bir .dll uzantılı bir dosya görüldüğü takdirde demek oluyor ki obir ISAPI uygulamasıd
  • CGI: Bir dosyanın içeriğini değil, o dosyayı çalıştırıp çıktısını kullanıcıya göndeririz.
    Bir exe dosyasının 1000 kez çalıştırılması gerekebilir. CGI performans problemlerine yol açmıştır.Genellikle UNIX için kullanılır. Windows için WinGCI kullanılır. WinGCI, Windows için özelleşmiştir. WinCGI’nın farkı bir konsol yapısını kullanmamasıdır. Sanal bir konsol yapısı açılmaz.
  • 2 tip ISAPI uygulaması vardır:
  • 1. ISAPI uzantıları: Belli bir uzantıda çalışır. GCI programlama güçlüğünü aşmak istediği yerlerde kullanır.
  • 2. ISAPI filtreleri: bir web sayfasının içeriğinin kullanılmasıdır. Gelen her içerik uygulamadan geçirilip kullanıcıya gönderilir. Tüm içerik kontrol edilir.
    WWW için CGI için arabirimlik yapar. Tamamen exe dosyalar yazmadan temel kod yığınlarıyla web sayfaları oluşturulabilir hale gelmiştir.
  • APACHE
    APACHE de tanımalmış olan bir ISAPI’dir. Konsol tabanlı bir yapısı vardır.. Unix tabanlı bir sistem olarak geliştirilmiştir.Windows ailesinde APACHE'nin yaptığı görevlerii IIS (Internet Inforation Services) yapmaktadır.

ISS - APACHE

IIS (INTERNET INFORMATON SERVİCES)

Web sayfalarının yayınlanmasını ve web uygulamalarının çalışmasını sağlayan, istemcilerden HTTP ve FTP üzerinden gelen talepleri Microsoft Windows sunucu tabanlı işletim sistemlerinde karşılayan birim Internet Information Services (IIS )’dir

IIS (Internet Information Services), Windows sistemlerinde web tabanlı uygulama geliştirip yayınlayabilmek için gerekli alt yapıdır. Yani IIS kurulu olmayan bir bilgisayarda ASP veya ASP.NET uygulaması geliştirilemez.

Bir ağ mühendisinin gözüyle IIS, OSI katmanının bir üstünde yer alarak herhangi bir bilgisayar ile bir Windows bilgisayar arasında oturumsuz bir protokol sağlar. Buradaki oturumsuz kelimesi ile anlatmak istediğim, Telnet gibi protokollerde olduğu gibi iki sistem arasında devam eden bir konuşma bulunmamaktadır. İstemci – Sunucu mimarisi doğrultusunda, istemci HTTP protokolü üzerinden sunucuya talepte bulunduğunda, ki burada sunucu tarafında istemciyi IIS karşılamaktadır, IIS ya cevap döner ya da dönmez.

Windows Server 2003 ile birlikte IIS 6.0 sürümüyle gelmektedir. IIS 6.0 , daha önceki 5.0 ve 5.1 sürümlerine göre güvenlik geliştirmelerine sahiptir.Aynı zamanda IIS hizmeti Windows Server 2003’ü kurduğunuzda varsayılan olarak güvenlik nedeniyle kapalıdır. Buradaki amaç, sistem yöneticisinin hangi hizmete ihtiyacı varsa, bilinçli ve kontrollü bir şekilde ilgili hizmeti başlatmasını sağlamaktır. Windows 2000 ve XP Pro işletim sistemlerinde ise IIS’i Denetim Masası içerisinde yer alan Program Ekle/Kaldır bölümündeki Windows Bileşeni Ekle/Kaldır bölümünden varsayılan ayarlarla kurulumunda yüklenmediğinden ek olarak işletim sistemi CD’sini kullanarak yükleyebilirsiniz. CD içerisindeki I386 dizininde gerekli kurulum dosyaları mevcuttur.

Çalıştır satırına “inetmgr.exe”IIS’i yönetmek için Başlat Menüsü yazarak IIS yönetim arabirimine ulaşabilirsiniz. Varsayılan Web siteleri içerisine sanal bir dizin yaratabilirsiniz. Ayrıca yayınlamak istediğiniz sayfaları C sürücünde yer alan “InetPub” dizini içerisindeki “wwwroot” altına koyabilirsiniz.

IIS’in çalışıp çalışmadığını denetlemek için, yönetimsel araçlardan Hizmetler’i seçerek “IIS Admin” hizmetinin çalışıp çalışmadığını kontrol edebilirsiniz.Diğer bir alternatif olarak Internet Explorer adres çubuğu içerisine “localhost” yazarak IIS’in giriş sayfasına ulaşıp ulaşmadığınızı kontrol edebilirsiniz.

IIS aynı zamanda FTP Server olarak da kullanılabilir.

IIS kurulumunda, .NET Framework kurulmadan önce IIS'in kurulmuş olmasına dikkat edilmelidir. Aksi halde Asp.Net dosyalarının uzantıları ilgili kütüphane dosyaları ile doğru kullanılabilir hale gelemez. Eğer IIS kurmadan Framework'u kurmaya çalışılırsa bir uyarı ile karşılaşılır. Bu uyarı yoksayılarak yükleme işlemine devam edilebilir. Ancak, IIS yüklemesi yapmaya karar verildikten sonra, sistemin Asp.Net sayfaları ile uyum içinde çalışabilmesi için Visual Studio.Net komut satırı aracını açıp "aspnet_regiis.exe -i" komutu girilmelidir.

Sekil 1: IIS Kurulumu

IIS Yönetimi

Sisteme kurulan IIS yönetim kontrolü için, masa üstünde "Bilgisayarim" ikonu üzerine gelip farenin sağ butonunu tıklanır. Yönet (Manage) alanı seçilir. Açılan pencerede ise "Services and Applications" alanında IIS seçilir. Bu klasörün altında

  • Application Pools
  • Web Sites
  • Web Service Extensions

alt klasörleri bulunur.

Web sites alanı açılınca sistemimizde çalışan Asp.Net uygulamaları görünür. Açılan pencerenin üstünde ise sitenin çalışırlığını durdurmaya yarayan "stop" ve "pause" düğmeleri vardır. Web sites klasörü altında " Default web site" alanı seçilir ve üzerinde farenin sağ tusu tıklanarak IIS ayarları güncellenebilir. Bu klasör üzerinde sağ tıklanınca açilan pencerede ise sekiz adet ayar kategorisi vardır. En önemlisi " Home Directory " kategorisidir. Local Path alanında " c:\inetpub\wwwroot " ifadesi, sistemde IIS mekanizmasinin çalıştıracağı uygulamaların bulundugu yer bilgisini tutar.

Şekil 2: IIS Yönetimi

Asp.Net web uygulamalarının wwwroot klasörü altında tutulur. Ve bu klasör altında tutulan klasörlerin diğerlerinden farklılığı" virtual directory " yani sanal klasör olmalarıdır. .Net ile açılan yeni bir web uygulaması için otomatik olarak wwwroot altında yeni bir virtual directory oluşturulur.

VS.NET kullanmadan yeni bir virtual directory olusturmak için "Web sites -> default web site" alanı üzerinde farenin sağ tuşu tıklanır ve "new" alanında "Virtual Directory" seçilir. Sonra "Virtual Directory Creation Wizard" çikar. İlgili alanlar takip edilerek yeni bir virtual directory oluşturulur.


APACHE

Apache Software Foundation (ASF) tarafından geliştirilir. ASF, Apache yazarları tarafından 1999'da yazılım için yasal bir şemsiye olması için oluşturulmuştur.

Açık kaynak kodlu bir yazılımdır, lisansı ücretsizdir. Yazılım firmaları, kurumlara verdikleri hizmetten (kurulum, teknik destek, vb) kazanç sağlarlar. Bu sunucu internet tarayıcılarıyla bağlanan kullanıcıların isteklerine cevap veriyor. Klasik olarak html (hyper text markup Language - Üstortam Metin İşaret Dili) ile hazırlanmış sayfaları sunmaktadır. Bu sayfalar bizlerin çeşitli editörlerde yazdığı, oluşturduğu, internet sayfalarıdır ve içeriğe ne girmişsek, her zaman o içerikle karşılaşırız. Ama zamanla sunucu tarafında sayfaların oluşturulup, kullanıcıya yollanmasının etkileşimli ve doğru yol olduğu fark edilince sunucu taraflı (server side) script dilleri geliştirildi. PHP (PHP: Hypertext Preprocessor)‘de bu dillerden bir tanesi. Yani PHP ile siz bir sayfayı hazırlamaktan çok, sunulacak sayfanın özelliklerini programlamış oluyorsunuz. Bir ziyaretçi sitenize, sayfanıza girdiği zaman, php dili sayesinde sunucuda oluşan sayfa kullanıcıya yollanıyor. Bu tür bir sistemlerin etkin olabilmesi için önemli şartlardan bir taneside verilerin alınacağı bir deponun (veri tabanının) bulunması. Yani siteye giren kullanıcıya yollanacak sayfa yeni oluşturulurken, verilerinde yenilenmesi, en yeni ya da site ziyaretçisinin istediği bilgileri içermesi gerekmektedir. Bunu sağlayan veri tabanlarından bir taneside MySQL‘dir. MySQL verilerinizi düzenli bir şekilde saklamanızı ve istediğiniz zaman, belirleyeceğiniz kurallar dahilinde verilere ulaşmanızı sağlar. PHP ve MySQL ile ilgili örnekleri verdikçe sanırım burada yazılanlar daha açıklayıcı olacaklar..