Dinamik (server-based) Web Teknolojileri ve Programlama
Transkript
Dinamik (server-based) Web Teknolojileri ve Programlama
KARADENİZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR AĞLARI LABORATUARI Dinamik (server-based) Web Teknolojileri ve Programlama 1. Giriş İlk bulunduğunda daha çok araştırma-geliştirme amaçlı çalışmalar yapılan İnternet, 1995 yılından itibaren yaygınlaşmaya başlamış ve toplumlarda önemli ölçüde kabul görmüştür. İnternetin önem ve yararının geniş ölçüde kabul edilmesi ile birlikte, statik Web-HTML sayfalarının kullanıcıları tatmin etmediği ve ortaya çıkan yeni ihtiyaçları karşılayamadığı görülmüştür. Özellikle bu sayfalardaki bilgilerin anlık değişimleri yansıtacak biçimde güncellenememesi ve kullanıcı ile yeterince etkileşimli olmaması gibi sorunlara karşılaşılmıştır. Oysa çoğu İnternet kullanıcısının aklında kullanıcının eylemlerinden etkilenen bir yapı oluşturma ve değişen bilgilerin anında Web-sayfasına yansıması fikri vardır. Bu fikirden hareketle kullanıcı etkileşimli ve anında güncellenen web sayfaları oluşturmak için çeşitli teknolojiler geliştirildi. Bu teknolojilerin bazıları ASP, CGI, PHP ve JSP dir. Bu deneyde dinamik ve aktif web sayfalarının çalışma mantıklarını inceleyerek PHP ve JavaScript ile ilgili örnek uygulamalar geliştirilecektir. 2. Statik ve Dinamik Web Sayfaları Web sayfaları kabaca dinamik sayfalar ve durgun(statik) sayfalar olmak üzere ikiye ayrılabilir. 2.1. Statik (Durgun) Sayfalar Statik sayfa yapısı genelde bilgi vermeye yönelik sayfalarda kullanılır. Sayfa ziyaretçisi ile herhangi bir enteraktif iletişim yoktur. Bu sayfalar gazeteye ya da dergilere benzetilebilir. Bu tür sayfalarda sadece sayfaya işlenmiş olan veriler (yazı, resim) görülür. Sayfaya herhangi bir veri gönderilmez. Bir habere yorum yapılamaz veya ankete oy verilemez. Sadece alıcı olarak sayfada var olanlar algılanır. Bu gibi sayfaların yapısında %90 HTML kodu ve %10 ise istemci taraflı kodlar (Javascript, CSS) bulunmaktadır. Statik (durgun) sayfalar dinamik sayfalara göre yapım maliyeti daha düşüktür. Güncellemek veya yapı değişiklikleri dinamik sayfalara göre daha zordur; yüksek maliyet gerektirir. Sayfa ziyaretçilerine herhangi bir hizmet verilemez. 2.2. Dinamik Sayfalar Bu tür sayfalar genelde. asp, .php, .jsp, .shtml gibi sunucu taraflı dil uzantılarından oluşur. Sayfa ziyaretçisi ile enteraktif iletişim vardır. Sayfa ziyaretçisine çeşitli hizmetler sunulabilir. Site güncellemesi kullanıcı tarafından yapılabilir. (örn: Fiyat listelerinin değiştirilebilmesi, KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı 1 yeni sayfaların eklenmesi, çevrimiçi broşür hazırlama ve tek tuşla binlerce müşteriye gönderimi gibi ...). Web sayfalarında şirket amaçlarına uygun hizmetler verilebilir. Şirket ürünleri e-ticaret vasıtası ile satılabilir veya bayi ağı çevrimiçi çalışır hale getirilebilir. Dinamik sayfaları dinamik yapan içerdiği kodun dinamikliğidir. Bu sayfalarda mesaj gönderilebilmekte, oy kullanılabilmekte ve e-posta atılabilmektedir. 3. Scripting (Betik) Diller 3.1. İstemci Taraflı Scriptler Web sayfalarında yaygın olarak kullanılan bu dillerden javascript Netscape firması tarafından HTML nin bazı yönlerinin yetersiz olduğu düşünülerek türetilmiştir. Söz dizimi C ye çok benzer. Javascripte benzer şekilde Microsoft firması tarafından türetilen VB script vardır. Temel olarak Javascript kodları, istemci tarafında çalışırlar ve gerektiği yerde popup hata mesajı, form denetimleri, sayfanın yazıcıya gönderilmesi gibi işlevleri yerine getirirler. İstemci taraflı scriptler yazmak için web tarayıcının desteğine göre JavaScript, VBScript ve PerlScript gibi dillerden herhangi biri kullanılabilir. Aşağıda verilen istemci taraflı iki script örneği de aynı işlemi yapar: her biri ekran üzerinde “Hello world” kelimelerini içeren bir mesaj kutusu gösterir. <script language="JavaScript"> function AlertJS() { alert("Hello world.") } </script> <script language="VBScript">Sub AlertVBS() MsgBox "Hello world." End Sub </script> Scriptlerin istemci tarafından icra edilmeden önce tarayıcıya yüklenmiş olmaları gerekir. Bu nedenle scriptler genellikle <head> ile </head> etiketleri arasına yerleştirilir. Aşağıdaki client_message.asp sayfası istemci taraflı scriptlerin bir ASP sayfasına nasıl yerleştirildiği ve çağrıldığını gösterir. client_message.asp <html> <head> <title>İstemci Taraflı Scripting Örneği</title> <script language="JavaScript"> function AlertJS() { alert("Hello world.") } </script> </head> <body onLoad="AlertJS()"> </body> </html> HTML <body> etiketinin onLoad eylemi sayfa tarayıcıya yüklenirken icra edilecek scriptleri içerir. Dolayısıyla bir web tarayıcı client_message.asp sayfasını gösterirken AlertJS() ve AlertVBS() rutinlerini sırasıyla koşar. İstemci taraflı scriptlerin icrası istemci tarafında koştuğundan ağ trafiği etkilenmez ve sunucu bilgisayarın yükü hafifletilmiş olur. 3.2. Sunucu Taraflı Scriptler Sunucu taraflı scriptlerin çalışma şekilleri Şekil 1’de şematik olarak gösterilmektedir. KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı 2 Şekil 1: Web sunucusundan bir web sayfası isteme adımları 1. İstemci bilgisayar, www aracılığı ile web sunucusundan bir sayfa çağırır. 2. Web sunucusu ilgili sayfanın başlık kısmını istemciye gönderir. 3. Eğer istemcinin istediği sayfa dinamik bir sayfa ise web sunucusu dinamik sayfayı yorumlar ve html sayfası üretir. 4. Dinamik sayfadan üretilen html sayfası Web server tarafından istemciye gönderilir. 5. İstemci kendisine gelen html sayfasını ekranda gösterir. Sunucu taraflı scriptler, sunucu üzerinde icra edilirler ve icra sonuçları, karşılık gelen HTML koduyla yer değiştirilirler. İstemcinin sayfa her isteğinde scriptler yeniden icra edilir. Örneğin, bir sunucu aşağıdaki server_message.asp sayfasına sahip olsun. server_message.asp <html> <head><title>Sunucu Taraflı Scripting Örneği</title></head> <body> Hello. It is now <%=Time() %> on the server. </body> </html> Bu ASP sayfasındaki Time() scripti bir VBScript fonksiyonudur ve sayfa istemciye gönderilmeden önce icra edilmesi gerekir. “<%=” ve “%>” işaretleri bir fonksiyonun döndürdüğü değeri ya da bir değişkenin değerini HTML koduna eklemek için kullanılır. Sonuç olarak, sunucu aşağıdaki içeriğe sahip server_message.asp sayfasını istemciye gönderir. <html> <head><title>Sunucu Taraflı Scripting Örneği</title></head> <body> Hello. It is now 10:42:43 on the server. </body> </html> Sayfadan görüldüğü gibi tarayıcı ekranında sadece “Hello. It is now 10:42:43 on the server.” kelimelerini içeren bir mesaj görünür. Sayfa her istendiğinde mesajda görünen zaman değeri farklı olacaktır. KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı 3 4. Web 2.0 Tanım ya da etiket olarak 2004 yılındaki bir konferansta temelleri atılan Web 2.0 kavramı tam anlamıyla tanımlanıp açıklanmakta güçlük çekilse de geçtiğimiz yıllar içerisinde web teknolojilerine ve eğilimlerine olan etkisi göz ardı edilemeyecek derecede büyüktür. Kimi tanımlamalara göre bir teknoloji kimi tanımlamalara göre ise yeni bir çağ olarak kabul edilen yeni sürüm webin kullanıcılara sunduğu en büyük getiri içeriğin mikro boyutlara indirgenmesidir. Önceki yıllarda içeriği bulmak için referans sitelere gidilir ihtiyaç duyulan bilgiler yerinden sağlanırdı. Örneğin; haber isteyen cnn.com u, tasarımcılar adobe.com’u, windowsla ilgili olanlar microsoft.com’u ziyaret ederdi. Az sayıdaki içerik sağlayıcılar çok sayıdaki istemciye cevap verirdi. Ancak zaman geçtikçe istemcilerde kendi içeriklerini yazmaya ve bunları insanlarla paylaşmaya başladılar. Bir ya da iki saat içerisinde öğrenilen html bilgisiyle yapılmaya çalışılan sitelerin yerine kullanıcı için hiçbir tasarım bilgisi gerektirmeyen, kullanıcının tüm isteklerini düşünmüş uygulamaların ortaya çıkması, istemciler tarafından sağlanan içerik döneminin gelişmesine önemli derecede katkıda bulunmuştur. Bu uygulamalar neticesinde insanlar; tasarımla, teknikle uğraşmak zorunda kalmadan sahip olduğu fotoğrafları, anlatmak istedikleri teknik ya da sosyal içerikleri, ziyaret ettikleri siteleri (bookmark) vs. milyonlarla çok rahat bir şekilde paylaşır hale gelmişlerdir. Yayınlamanın yanında bu içeriklere ihtiyacı olanların, bu içerikleri arayanların istediklerini bulma konusunda işlerini kolaylaştıran arama motorları, portallar, geliştirilen api (Application Programming Interface)ler kullanıcı hâkimiyetindeki yeni nesil web zincirine eklenen tamamlayıcı halkalardan sadece biri olmuştur. Tablo 1 eski ve yeni nesil web arasındaki geçişi birkaç örnekle açıklayabilmektedir. Web 1.0 Web 2.0 Statik bannerlar Sitedeki içeriğe göre reklam gösteren Google AdSense Ofoto gibi fotoğrafları sadece kendi kullanımınız için saklayacağınız ortamlar Fotoğrafları milyonlarla paylaşabileceğiniz Flickr mp3 indirmek için listeleri gezeceğiniz bir mp3.com Şarkı adını yazıp arama yaptığınız Kazaa Ansiklopedik bilgiyi arayacağınız yer Britannica Online Ansiklopedik bilginin aşamalı şekilde oluştuğu Wikipedia Kişisel web siteleri Bloglar domain name için akılda kalıcı tanımlamalar seçmek akılda kalmak ya da öne çıkmak için arama motorları optimizasyonları geliştirmek sayfa görüntülenmesi tıklamaların değerlendiği dönem içerik yönetim sistemleri herkesin birşeyler söyleyebildiği wiki pedia klasor yapıları (taxonomy) tag yapıları (tagging,"folksonomy") Tablo 1. Eski ve yeni nesil webin karşılaştırılması 5. Dinamik Web Programlama Dilleri 5.1. ASP Dili ASP, ya da Active Server Pages (Etkin Sunucu Sayfaları), Microsoft tarafından geliştirilen internete yönelik sunucu taraflı (serverside) çalışan bir teknolojidir. Sunucunun sadece KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı 4 durağan sayfaları istemciye (ziyaretçi) göndermesi yerine, ziyaretçiden veri kabul edilmesi gerekliliğinin sonucunda ortaya çıkmıştır. ASP sayfaları çoğunlukla VBScript kullanılarak yazılır, ancak @Language komutuyla JScript, hatta Perl gibi başka bir dil de seçilebilir. Bir ASP dosyasının içinde, özel nesneler ve VBS, JS, SQL kodları bulunur, bu sayfalar istemci tarafından istendiğinde sunucu öncelikle ASP içindeki kodları icra ederek, istemciye göndereceği bilgiyi oluşturur ve gönderir. Gönderilen bilgi genellikle HTML şeklindedir. Fakat sadece bunlarla sınırlı değildir, aynı şekilde bir grafik dosyası da oluşturulup, istemciye gönderilebilinir. ASP sayfaları HTML kodlarının içine gömülü şekilde oluşturulduğu halde bir kez sunucu tarafından yorumlandığında saf HTML olarak döner. Kaynak kodlara bakıldığında ASP kodları görülmez. Bu kodlamacıların kaynaklarını saklamalarını kolaylaştırır. ASP'nin ortaya çıkış nedenlerinden birisi de CGI dillerinin Oturum (Session) ve Uygulamaların (Application) başından sonuna kadar izlenmesinin yetersiz oluşundandır. Bir web sayfasının ASP kodu içerip içermediği dosyaya verilen “.asp” uzantısıyla belirlenir. Web sunucudan (IIS) istenen bütün “.asp” uzantılı dosyalar istemciye gönderilmeden önce sunucu ile aynı makine üzerinde bulunan ASP yorumlayıcıya (ASP.dll) gönderilirler. ASP yorumlayıcı “.asp” uzantılı bir dosya içerisinde bulunan ASP kodlarını HTML kodlarına dönüştürür ve sunucuya geri gönderir. Daha sonra bu yeni dosya sunucu tarafından istemciye gönderilir. İstemciye gönderilen dosyalar daima sadece HMTL kodu içerdiğinden dolayı ASP sayfaları web tarayıcılardan (browser) bağımsızdır. 5.2. PHP Dili PHP (Personal Home Pages)ın kısalması olan ve ASP gibi sunucu taraflı interaktif web siteleri oluşturmak için kullanılan bir script dilidir. 1990 ların ortalarında Rasmus Lerdorf tarafından oluşturulmuş ve giderek geliştirilmiştir. PHP söz dizimi (syntax) Perl ve C ye çok benzemektedir. PHP scriptleri sunucu tarafından çalıştırılmakta ve birçok veritabanı sistemiyle (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, vs…) uyumlu olarak çalışabilmektedir. Açık kaynak kodlu bir dildir ve ücretsizdir. PHP kodlarının çalışması için sunucu üzerinde web sunucu (çoğunlukla Apache) programı çalışmalıdır. PHP kodları. php uzantılı dosyalara yazılırlar. Web sunucusu. php uzantısını gördüğü an o dosyanın php dosyası olduğunu anlar. Php kodlarını yorumlar ve geriye html kodu döndürür. Bir PHP dosyası düz metinlerden, php kodlarından ve html etiketlerinden oluşabilir. Ayrıca php dosyaları .php3 ya da .phtml uzantısında da olabilirler. Bir web sayfasının php kodu içerip içermediği o dosyanın uzantısına bakarak anlaşılır. Bir istemci, sunucudan .php uzantılı bir sayfa çağırdığında Web sunucu (Apache) o dosyayı php yorumlayıcısına gönderir. Php yorumlayıcısı php kodlarını yorumlayarak html çıktısı üretilir. Üretilen html dosyası istemciye gönderilir ve istemci tarafından görüntülenir. Burada dikkat edilmesi gereken nokta istemci bilgisayarda görüntülenen kod php kodu değil html kodudur. PHP Söz Dizimi PHP blokları <?php ile başlar ve ?> ile biterler ve html kodları arasına yerleştirilebilirler. Aşağıda basit bir php kodu verilmektedir. <html> <body> <?php KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı 5 // Burası tek satırlık açıklama /* Burası blok şeklinde Yorumlar için kullanılmaktadır. */ echo "Bu kod php tarafından oluşturuldu."; $txt = "Hello World!"; $number = 16; echo $txt; echo $number; ?> </body> </html> PHP Fonksiyonları PHP dilinin gücü içerdiği fonksiyonlardan kaynaklanmaktadır. PHP içerisinde 700 den fazla dahili fonksiyon bulunmaktadır. Bu fonksiyonlara www.php.net adresinden erişebilirsiniz. Bunun dışında bu fonksiyonlara ek olarak kullanıcı tanımlı fonksiyonlar da yazılabilmektedir. <html> <body> <?php function writeMyName() { echo "Kai Jim Refsnes"; } echo "Hello world!<br />"; echo "My name is "; writeMyName(); echo ".<br />That's right, "; writeMyName(); echo " is my name."; ?> </body> </html> PHP Form Handling PHP web programlama dilinde istemciden bilgiler form yardımıyla alınır ve sunucuya iletilir. Verilerin sunucuya iletilme biçimleri 2 türlüdür. • Get metodu • Post Metodu Form olayını daha net anlamak için aşağıdaki örnekleri inceleyelim. Form.html <html> <body> <form action="welcome.php" method="post"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html> Welcome.php <html> <body> Welcome <?php echo $_POST["name"]; ?>.<br /> You are <?php echo $_POST["age"]; ?> years old. </body> </html> KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı 6 GET Metodu Bu metodla iletilen veriler adres satırı üzerinden görülür ve herkesin görebileceği şekildedir. Değişkenler $_GET[“isim”] şeklinde kullanılırlar. • İletilen değişkenler URL de gözükürler • Kullanıcı adı ve parola iletimi gibi durumlarda bu metodun kullanılması sakıncalıdır. • Bu metod büyük çaplı değişkenler için elverişli değildir. Örneğin karakter dizilerinin boyutu 100’ü geçemez. • Parametreli sayfa çağırmaları için elverişlidir. Örn: : https://ceng.ktu.edu.tr/index.php?option=com_frontpage&Itemid=1 POST Metodu Bu metod ile iletilecek olan veriler kullanıcılara gözükmeden iletilirler. Değişkenler $_POST[“isim”] şeklinde kullanılırlar. • İletilen değişkenler URL de gösterilmezler. • İletilen değişkenler için büyüklük sınırlaması yoktur. $_REQUEST Değişkeni Bu değişken ile hem GET metodu ile iletilen veriler hem de POST metodu ile iletilen veriler alınır. Örn: <form action="welcome.php" method="get"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> GET ile Welcome <?php echo $_GET["name"]; ?>.<br /> You are <?php echo $_GET["age"]; ?> years old! POST ile Welcome <?php echo $_POST["name"]; ?>.<br /> You are <?php echo $_POST["age"]; ?> years old! REQUEST ile Welcome <?php echo $_REQUEST["name"]; ?>.<br /> You are <?php echo $_REQUEST["age"]; ?> years old! Yukarıdaki her üç kod da aynı görevi görmektedir. Tabi form ile veri iletilirken action parametresinin uygun şekilde verilmesi gerekir. PHP Çerezleri Çerezler, sunucu bilgisayarın istemci bilgisayarda kullanıcıyı tanımlamak için kullandığı dosyalardır. Genellikle sunucu bilgisayarın istemciyi daha sonraki girişlerde tanıması için kullanılır. KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı 7 Syntax setcookie(name, value, expire, path, domain); Çerezlerin Ayarlanması <?php setcookie("user", "Alex Porter", time()+3600); ?> <html> <body> </body> </html> Çerezlerin Okunması <html> <body> <?php if (isset($_COOKIE["user"])) echo "Welcome " . $_COOKIE["user"] . "!<br />"; else echo "Welcome guest!<br />"; ?> </body> </html> PHP Oturumları Bir kullanıcı bir sayfayı açtığında uygulamayı kapatana kadar geçen süre oturum olarak adlandırılır. PHP de Session değişkeni ise bir oturum süresince olan bilgileri tutar. Bir web sayfası web tarayıcısı ile açıldığında açma, değişiklikler yapma ve kapama gibi işlemler yapılır. İşte bu gibi bilgiler session değişkeni yardımıyla daha sonra tutulur. Session değişkeni ile ilgili verilerin kullanılması için önce oturumun açılması gerekir. Not: session_start() fonksiyonunun <html> tagından önce kullanıldığına dikkat edin. <?php session_start(); ?> <html> <body> </body> </html> Örn: <?php session_start(); if(isset($_SESSION['views'])) $_SESSION['views']=$_SESSION['views']+1; else $_SESSION['views']=1; echo "Views=". $_SESSION['views']; ?> Oturumu Kapatma <?php unset($_SESSION['views']); ?> Ya da <?php session_destroy(); ?> KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı 8 6. Web Sayfalarının Çalıştırılması 6.1. Web Sunucu Web, internet üzerinde yer alan grafiksel bir servistir. Hazırlanan içeriklerin ( grafik, yazı , ses, animasyon, görüntü vb ) dünya üzerinde yer alan tüm kullanıcılara iletilmesi ve kullanıcıların bu dosyalara ulaşabilmesi için internete bağlı bir bilgisayar üzerinde çalışan uygulama yazılımını web server olarak tanımlayabiliriz. Web server programları kuruldukları işletim sistemine göre farklılık gösterebilir. Sözgelimi web server olarak unix işletim sistemini kullanan bilgisayarlar Apache ( Apache’nin Windows işletim sistemlerinde de çalışan sürümleri vardır. ) kullanırken windows işletim sistemini ( server ) kullanan bilgisayarlar ise web server programı olarak IIS (Internet Information Server ) kullanabilir. 6.2. ASP Sayfalarını Çalıştırma ASP sayfalarının bir harici sunucuya ihtiyaç duyulmadan bir PC üzerinde çalıştırılabilmesi için Microsoft’un geliştirdiği ürünlerden olan Personel Web Server (PWS) ya da Internet Information Server (IIS) kurulmalıdır. PWS’i kurmak için en az Windows 95 ve IIS’i kurmak için ise en az Windows NT işletim sistemi gerekir. 6.3. PHP Sayfalarını Çalıştırma PHP sayfalarının çalıştırılabilmesi için kodun çalıştığı bilgisayarda Apache web sunucu programının kurulu olması gerekir. PHP sayfalarının harici bir sunucuya ihtiyaç duymadan bir PC üzerinde çalışması için o PC üzerinde Apache web sunucusu ve PHP yorumlayıcısının kurulması gerekir. Ayrıca veri tabanı uygulamaları yapabilmek için PHP’nin tam uyum gösterdiği MySQL veritabanı sunucusunun da kurulu olması gerekir. Günümüzde tüm bu programları bir arada tutan ve Windows platformunda çalışan programlar vardır. Deneyimizde Wamp Server (Windows Apache MySQL, PHP) programını kullanacağız. Wamp Server programını indirip kurmak için http://www.wampserver.com adresini ziyaret edebilirsiniz. 4. Deney Hazırlığı 1. Deneye gelmeden önce her öğrenci deney föyünü dikkatlice okumalı ve dinamik web programlama kavramını öğrenmelidir. 2. Deneye gelmeden önce HTML dili ile ilgili temel düzeyde bilgi sahibi olunmalıdır. 3. Web sayfaları arasında veri iletim metodları hakkında en az bir uygulama yazılmalıdır. 4. PHP web programlama dilini kullanarak temel düzeyde en az bir web uygulaması yazılmalıdır. 5. Deney Tasarımı ve Uygulaması 1. Deney föyü ile ilgili dinamik web programlama ilgili soruların sorulması ve cevaplanması. 2. www.wampserver.com adresinden web sunucu programını indirilmesi ve kurulması. KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı 9 3. Uygulama 1 deki kodu yazarak sonucu http://ceng.ktu.edu.tr/~zafer/bil-sis/ adresindeki karşılığı ile karşılaştırma ve çalışma mantığının incelenmesi. 4. Uygulama 2 deki kodu yazarak sonucu http://ceng.ktu.edu.tr/~zafer/bil-sis/ adresindeki karşılığı ile karşılaştırma ve çalışma mantığının incelenmesi. 5. Uygulama 3 deki kodu yazarak sonucu http://ceng.ktu.edu.tr/~zafer/bil-sis/ adresindeki karşılığı ile karşılaştırma ve çalışma mantığının incelenmesi. 6. Uygulama 3’te kullanılan renk menüsüne yeni renklerin eklenmesi 7. Uygulama 3’te kullanılan seçim (select) elemanları yerine radio elemanlarının kullanılarak yeniden düzenlenmesi 8. Uygulama 3’te Select elemanı yerine bir text alanı ve bir buton yerleştirerek, bu alana girilen renk bilgisinin buton yardımıyla sunucuya gönderilmesini sağlama ve bu sayede arkaplan renginin ayarlanması. 6. Deney Soruları Web sayfalarının kullanılan teknolojiye göre kaça ayrıldığını söyleyiniz. İstemci taraflı scriptlere örnek veriniz. Sunucu taraflı scriptlere örnek veriniz. Sunucu taraflı scriptlerin çalışma mantığını söyleyiniz. Web 2.0 ile Web 1.0’ı karşılaştırınız. Web sayfalarında verilerin sunucuya iletilme biçimlerinin ne olduğunu söyleyiniz ve bu biçimleri birbirleri ile karşılaştırınız. 7. Web sunucu nedir ve ne işe yarar? 8. PHP sayfalarının çalıştırılması için neler gerekir? 1. 2. 3. 4. 5. 6. 7. Deney Raporu Deney raporu, deney esnasında yazılarak teslim edilecektir. Bu nedenle rapor şablon dosyasını buradan indirerek çıktısını alınız, gerekli alanları (öğrenci no, ad, soyad …) doldurunuz, hazırlık sorularını cevaplayarak el yazısı ile “Deneye Hazırlık” kısmına yazınız. Raporunuzun diğer alanları deney esnasında doldurulacaktır. Her öğrenci bireysel rapor hazırlayacaktır. Deneyin web sayfası : http://ceng2.ktu.edu.tr/~zafer/aglab/ 8. Kaynaklar [1] [2] [3] [4] [5] [6] [7] [8] www.w3schools.com www.hotscripts.com www.php.net www.phpbuilder.com www.wampserver.com www.csharpnedir.com tr.wikipedia.org www.programlamadili.net KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı 10