300 likes | 473 Views
İ NTERNET PROGRAMCILI Ğ I II. TEMEL KAVRAMLAR. WEB NED İ R?.
E N D
İNTERNET PROGRAMCILIĞI II TEMEL KAVRAMLAR
WEB NEDİR? • İnternet kullanıcısının, internet’e dahil olduktan sonra ilk duyduğu ve gözlemlediği kavramlardan birisi Web kavramıdır. WEB (World Wide Web-Geniş Dünya Ağı), içerisinde bir çok dosya türünü barındırabilen çoklu ortam sistemidir. • Yapı olarak yazi, resim, video, ses gibi bir çok dosya türünü destekleyerek, birbirleri ile uyum içerisinde sağlıklı bir şekilde çalışmalarını sağlar.
WEB NEDİR? • Web, basitolaraksayfalardanoluşmasınarağmen sayfaların birbirlerinebağlantı (link) kurulmasiile bütünlük arzeder. Dolayısıilebirsayfadandiğerineyol tanımlari yapılabilirvesayfalararasındabağlantılar yardımıilegeçişlersağlanabilir. • Web’in en önemliözelliğiisebirçok işletimsisteminidesteklemesive internet servislerini bünyesinde barındırmasıdır. • Birdiğerözelliği de web sayfalarının boyutudur. Yapıve büyüklük açısından hiçe sayılacakkadarazbir disk alanındaçok büyük işlerbaşarabilen web sayfaları, kullanışlıvebasit yapısıyladailgiodağıhalinegelmiştir.
HTTP NEDİR? • Web sitelerinebağlantıyısağlamakvebubağlantıyıkoparmak, sayfaüzerindeyeralandosya türlerindenfaydalanabilmek, bilgi alışverişleri, linkler yardımıiledosyatransferleriveelektronikpostaişlemlerigibibirçok web işlemibelirli sözleşmeler (protocol) çerçevesindegerçekleşir. DolayısıileWeb’in de iletişimkurallarınıbelirtenbirprotokoleihtiyacıvardır. • Bu protokole HTTP (Hyper Text Transfer Protocol -YüksekMetinAktarım Protokolü) denir. Başka birifadeyle Web işlemlerininsağlıklıbirşekildeişleyebilmesiiçin, buprotokoleihtiyacıvardır.
FTP NEDİR? • FTP (File transfer Protocol) adından da anlaşılacağı gibi dosya transferlerini gercekleştiren protokoldür. • Internet ortamında bulunan bir site, temelde yine bir makinede (server) saklanır. Belirtilen IP adresi ya da domain doğrultusunda server’de yer alan klasöre ulaşarak oradaki bilgiler web aracılığı ile alınır.
FTP NEDİR? • Temeldebusistemüzerinekonumlandırılan internet siteleriilekullanıcıarasindagerçekleştirilecekdosyatransferleribuprotokolçerçevesindegerçekleştirilir. Server’denkullanıcımakinesineyadakullanıcının makinesindenserver’edosyatransferlerinigerçekleştirmekiçin FTP protokolükullanılır. • Piyasadabirçok FTP programımevcuttur. Bu programlarbelirttiğinizadresten FTP protokolünükullanarakdosyaalabilmeyadayinebelirttiğiniz FTP adresinedosya gönderebilmeyeteneğinesahipprogramlardır. (Or. CuteFTP,…)
HTML NEDİR? • Web sayfaları, HTML (Hyper Text Markup Language) denen dil ile yazılır. Bu dil yapı olarak text(yazı) tabanlı komutlardan oluşur. Komutlara ve komut parametrelerine değerler verilerek sayfa oluşturulur. Sayfaya hazır nesneler (objects) konulabilir ve bu nesneler arasında bağlantılar (links) kurulabilir. • Internet’in hızla yaygınlaşması ve web sayfalarına olan yoğun ilgiden dolayı, bu dilde oldukça gelişme kaydedilmiştir.
HTML ÖRNEK • <html> • <body> • <h1>Komodo HTML Sample</h1> • <form id="test-form" onsubmit="return hack()"> • <input type="submit" value="Click Me" id="sub-button"/> • </div> • <h3>Output:</h3> • <div id="script-output"></div> • <h3 id="log-header">Log:</h3> • <div id="log-div"> • <div id="ctrl"><a href="JavaScript:clear('log')">Clear</a> • <a href="JavaScript:hide('log-div')">Hide</a></div> • <div id="log"></div> • </div> • </form> • </body> • </html>
SGML NEDİR? • SGML (Standard Generalized Markup Language) UluslararasıStandardlarOrganizasyonutarafındanonaylanmış standardize birdildir. • SGML, dahaönce tanımınıyaptığımız HTML dilinintemelinioluşturmaktadır. Bu bağlamda SGML, HTML dilinenazaran yapısalbirözellikiçermektedir. HTML dilindehazırlananbir dökümandasadece dökümanın görünümüön planaçıkartılacaktır. Oysaki, SGML dökümanın yapısalözelliklerini tanımlayacaktır. • SGML ilehazırlananbirarşivde dökümanlar, döküman elementlerininhiyerarşikorganizasyonuolarak döküman şifreedilebilir. Bundandolayı, arşiv dökümanlarıoluşturandallarıbirleştirerekbir yönetimsağlar.
XML NEDİR? • XML (Extensible Markup Language), SGML dilininbirebeveynidir. Adındandaanlaşılacağıgibigeliştirilebilir-genişletilebilirbir yapıyasahiptir. • XML, SGML’yebenzemeklebirliktedahabasitbir yapıyasahiptir. GerekSGML’degerekseXML’deyenidillerprogramlamaşansınasahipolacaksınız. • Hazırlanan bütün dökümanlartemeldebir yapıyasahiptir. SGML ve XML dilleri dökümanın yapısını tanımlamakiçin organize edilmiştir. • XML, ağdaveri değiştirmesinioldukça hızlıbirşekildegerçekleştirebilenbirdildir. Dilinkodlamasıiçin etiketler (tags) kullanılır.
XML ÖRNEK • <?xml version="1.0"?> • <kayitlar> <kayit> <adi> faruk </adi> <soyadi> çubukçu </soyadi> <adresi> 1234 sokak no: 1 </adresi> <ili> izmir </ili> </kayit> <kayit> <adi> ayşe </adi> <soyadi> örnek </soyadi> <adresi> 1234 sokak no: 2 </adresi> <ili> istanbul </ili> </kayit> </kayitlar>
JAVA SCRİPT NEDİR? • Java Script, Netscape tarafındangeliştirilmişprogramlamadiliileyazılmışkodlardır. Java Script, tarayıcıile doğrudanyorumlanabilmeyeteneğinesahiptir. En çok kullanılanikitarayıcıİnternet Explorer 3 vedahasonrası, Netscape Navigator 2 sürümüvedahasonrası sürümleriiçin java scriptlerin doğrudanyorumlanmasınısağlamaktadır. • Java Script’ler doğrudansayfaiçerisineetiketler yardımıileyerleştirilebilir. Aynişekildesayfaiçerisindeçağrılabilicekşekilde kütüphanedosyalarıdaoluşturulabilir. Dışarıdan cağrılan Java Script dosyaları (*.js) uzantısını alır.
JAVASCRIPT ÖRNEK • function validateForm(form) { • vari; • var pass = true; • for (i = 0; i < form.length; i++) { • var element = form.elements[i]; • if (element.name.substring(0,8) == "required") { • if (((element.type=="text" || element.type=="textarea") && • element.value=='') && element.selectedIndex==0) { • pass = false; • break; • } • } • } • if (!pass) { • varshortName = element.name.substring(8,30).toUpperCase(); • alert("Please complete the " + shortName + " field correctly."); • return false; • } • else { • return true; • } • }
CSS NEDİR? • CSS (Cascading Style Sheet – StilŞablonları), HTML stillerinebenzerbir yapıiçerir. HTML stiline göre dahagenişstil seçeneklerinesahiptir. Yazıileilgilibirçok denetimiiçerisindetutabilir. • CSS’ninönemliözelliklerindenbirisi de stildosyasıolarakdasaklanabilmesidir. Sakladığınız CSS’yibaşka sayfalarauygulayabilir, web sayfaelementlerinin görünüşlerinikontroledebilirsiniz. • İnternetExplorer’dastil seçeneklerini değiştirmekiçin javascriptvevbscriptgibi script dillerinikullanabilirsiniz. CSS, elementlerinözelliklerine biçimvermekiçin, sayfa yüklendiktensonradevreyegirer.
CSS NEDİR? • CSS, tek dökümandametnin görünüşlerinikontroledenbirgrup format özelliğiiçerir. CSS biçimi, güncelleştirildiğindeveya değistirildiğinde, bütün sayfalarüzerindeaktifolur. • CSS biçimleri, yerleştirme, özelefektlerve fare kontrollerigibi HTML özellikleriniaynizamandabelirtebilir. • CSS stilleri, dökümanın baştarafındabulunurlarve biçimlerinserilerini tanımlarlar. CSS biçimleri, tanımlamayauygunkriterlerinesneözelliğiveyametinyoluyla tanımlayan html etiketiiçin biçimözelliğini tanımlayabilirler.
CSS ÖRNEK • <html> • <head><style><!--a {color:#000069;text-decoration:none;font:bold} a.hover {color:#FF0000} --></style></head> • </html>
DİNAMİK SAYFA KAVRAMI • Dinamik web sayfası ne demektır? • Dinamik web sayfası kullanıcı ile etkileşim sağlayan sayfalardır. • Dinamik web sayfaları ile: • Kullanıcıyı tanıyan arabirimler oluşturabilirsiniz • Kullanıcının site arabirimini özelleştirmesini sağlayabilirsiniz • Kullanıcının çeşitli bilgileri size göndermesini sağlayabilirsiniz • Site içerisinde belli kriterlere göre arama işlemleri yapabilirsiniz • Kullanıcının niteliğine göre yönlendirme işlemleri yapabilirsiniz
DİNAMİK SAYFA KAVRAMI • ... Dinamik web sayfaları ile: • Sayfa içerisinde çeşitli matematiksel işlemler yapabilirsiniz • Veri tabanı içerisine verileri aktararak verilerin çağrılıp kullanılmasını sağlayabilirsiniz • Form verilerini değerlendirerek kullanıcıyı çeşitli sayfalara yönlendirebilirsiniz • Üye sayfaları oluşturabilir sadece üyelerin etkileşim sağlayabildiği güvenli arabirimler oluşturabilirsiniz
DİNAMİK SAYFA KAVRAMI • Hazırladığınız dinamik bir web sayfasını disk ortamında tarayıcıya doğrudan yükleyip çalıştıramazsınız. Bunun için sisteme bir sunucunun yüklenmesı gerekir. Ayrıca hazırladığınız dinamik sayfanın çalışması için siteyi yayımladığınız uzak yada yerel sunucunun da bu dosyayı desteklemesi gerekir. • Örneğin; sadece ASP desteği veren bir web sunucusundan, hazırladığınız PHP dosyalarını yayımladığınızda sorun oluşur. Bu açıdan oluşturacağınız dinamik sayfaları destekleyen sunucunun türünü önceden belirlemeniz ve uygulamalarınız bu platformda geliştirmeniz gerekir. Aşağıda sunucu türleri ve özellikleri gösterilmektedir.
ASP NEDİR? • ASP (Active Server Page), sunucunun (server) aktif bir şekilde sayfayı işlemesini sağlar. ASP’nin geliştirilmesindeki asıl amaç web sayfalarına dinamik bir yapı kazandırmaktır. Dinamik yapının yanı sıra kod güvenliği için de ASP oldukça başarılıdır. ASP’nin yapısal özelliklerine geçmeden önce sunucu (server) – istemci (client) mimarisi üzerinde kısaca duralım.
Sunucu-İstemci Mimarisi • İnternetsitelerindegezinirkenbazısitelerinetkileşimlibirşekildeveriişlediklerini görmüşsünüzdür. Siteyeaitsayfadagirdiğinizbirveriişlenerekdahasonra size geri döndürülmektedir. Bu tür işlemleriçin sunucu-istemcimimarisikullanılarakverilerserver’deişlenirveişlenenbu ham verileryenidenistemciye döndürülür. • Bu bağlamda client (istemci), verilerigirenvearabirim yardımıile gönderenterminaldir. Server (sunucu) isebuverileriveritabanıdosyalarınasaklarveişler.
ASP NEDİR? • ASP (Active Server Page) teknolojisiteknikolaraksunucudayeralanbilgileriişleyerekistemciye göndermeyeteneğinesahiptir. Bu bağlamda ASP sunucuileistemcininetkileşiminisağlamaktadır. • ASP teknolojisinikullanaraksayfalaradinamikbir yapıkazandırmakiçin siteyiyayımladığınız serverin ASP teknolojisinidesteklemesigerekir. Server buözelliğiiçermiyorsa ASP uzantılıdosyaçalışmaz. Aynişekildehazırladığınız ASP dosyalarını disk ortamındada doğrudançalıştıramazsınız.
ASP NEDİR? • ASP dosyalarının disk ortamındaçalıştırılabilmekiçin buteknolojiyidestekleyenyerelbirsunucunun (server) sistemde yüklüveçalışır olmasıgerekir. • Server hizmeti Microsoft NT ve NT teknolojisiileoluşturulmuşWindows 2000, Windows XPProfessional, Windows Vistaişletimsistemlerineentegreolarak doğrudangelir. Bu işletimsistemlerinde IIS (InternetInformationServices)’yikurarakyerelsunucuhizmetinibaşlatabilirsiniz.
PHP NEDİR? • PHP (Personal Home Page), web sayfalarıoluşturmakiçin geliştirilen script dilidir. PHP, ASP’deolduğu gibi server tabanındaçalışabilendinamikbir yapıgerekir. Ayrıca PHP, HTML diliilehazırlananbirsayfanın içerisine gömülebilir (embed). • PHP script dili, C, Java ve Perl dillerinin söz dizimlerinikullanır. Bu açıdanbudillerin yapısınabenzerbir yapıyasahiptir. • PHP’nin en önemliözelliklerindenbirisiveritabanlarınıgenişbirmenziliçerisindedesteklemesidir. Bu paralelde PHP hemenhemen bütün veritabanıuygulamalarınıdestekler.
JSP NEDİR? • JSP (Java Server Page) sayfaiçerisindeyeralandinamik (hareketli) vestatik (durgun) bölümlerinbirbirinden ayırmayeteneğine sahipbirteknolojidir. JSP teknolojisi web sayfalarıiçerisinde doğrudankullanılabilir. Ayrıca tasarımcıya hızlıgeliştirmevekolaylık imkanlarısağlar. • JSP teknoloji, XML yada Java programlamadilindesayfaiçeriğinioluşturanetiketlervescriptleriister. Etiketlervescriptlerkullanılaraksayfayaerişimsağlanır.
Cold Fusion NEDİR? • Cold Fusion, dinamik (hareketli) sayfa uygulamaları ve interaktif web siteleri oluşturmak için geliştirilmiş bir alettir. Cold Fusion ilişkisel veri tabanları ile SMTP (Simple Mail Transfer Protocol-Basit Posta Gönderme Protokolü)’yi kullanarak elektronik posta hizmeti sunan ve bu teknolojileri birleştiren güçlü web uygulamaları inşa etmeyi sağlar. Web uygulamalarını oluşturmak için JFML etiketi ile standard HTML dosyasını birleştirir.
TARAYICI NEDİR? • İnternet sayfalarını gezinmek için kullanılan programlara tarayıcı (browser) denir. İnternet Explorer, MSN Explorer, Netscape Navigator, Opera, Firefox, Mozilla bunlardan bazılarıdır. • İnternet sayfaları tarayıcı tarafından yorumlanarak gösterilir.
VERİTABANLARI • Değişkenleri kullanarak sayfaya kullanıcının girdiği verileri alarak değerlendirdik. Bu şekilde bir veri alış verişi anlıktır ve değişkenlere yeni veriler aktarıldığında önceki veriler silinir. Dinamik web sayfaları ile verileri alıp saklamak için veri tabanı dosyaları kullanılır. Veritabanı dosyaları içerisinde verileri kalıcı olarak saklayabilir, yeni kayıtlar ekleyebilir ve bu verileri çeşitli kriterlere göre filtreleyebilirsiniz. • Ör. Üyelik gerektiren bir siteye girilen veriler, bir veritabanı içerisinde tutulur. Veritabanı içerisinden çağrılan bilgiler değerlendirilir ve kullanıcının çeşitli sayfalara yönlendirilmesi sağlanır.
VERİTABANLARI • Piyasada veri tabanı oluşturmak için programlar mevcuttur. Windows kullanıcılarının en çok tercih ettiği veri tabanı programı Windows Access’dir. Access ile veritabanı dosyaları oluşturulabilir, oluşturduğunuz veri tabanı içerisindeki kayıtlara dinamik web sayfasından erişebilirsiniz. Ancak veri tabanı içerisindeki kayıtlar arttıkça Access veri tabanının işlemesi yavaşlar. Bu gibi durumlarda MS SQL yada MY SQL gibi daha ğüçlü veri tabanı programlarını kullanabilirsiniz.