Menü
Bedava
giriş
ev  /  Firma yazılımı / Diğer web teknolojisi. Mercedes CGI nedir

Diğer web teknolojisi. Mercedes CGI nedir

Bölüm 6. World Wide Web

Www (World Wide Web - World Wide Web) - En popüler internet hizmeti. Kullanıcıların göreceli sadeliği ve görünürlüğü nedeniyle, ağ kaynaklarına böyle bir kitleye hitap etti. Peki, www nedir ve bu servis nasıl çalışır?

En yaygın www planı, özel bir şekilde biçimlendirilmiş belgeleri destekleyen bir Web sunucuları sistemidir. Www, istemci-sunucu mimarisi olarak uygulanır. İstemci programını kullanan kullanıcı (tarayıcı), sunucuda belirli bir bilgi için bir istek sağlar ve Web sunucusu bir tarayıcı talebi sunar. Tarayıcı, sunucudaki istenen kaynağa URL'si (Evrensel Kaynak Adresi) tarafından bir temyiz başvurusunda bulunan, elde edilen sonucu yorumlayan ve istemci bilgisayarda gösteren bir programdır (Şekil 1).

Sunucu ve müşteri genellikle farklı bilgisayarlarda çalışır ve belki de farklı donanım platformlarında çalışır ve farklı işletim sistemlerini çalıştırır.

Web tarayıcısı belgesinin Web sunucusu tarafından gönderileceği protokol, HTTP (HyperText Transfer Protokolü - Köprü Metni İletim Protokolü) olarak adlandırılır. Web sunucusundaki belge görüntüleme mekanizmasını daha ayrıntılı olarak açıklamak için, birkaç konsept girmeniz ve tüm köprü metni kavramını girmeniz gerekir.

Hypertext

iperText (HyperText), bir belgenin kelimelerini veya resimlerini (başka bir belgede veya aynı belgenin farklı bir bölümüyle), böyle bir "ilgili" kelimeler veya belgelerin resimleriyle, bir belgenin kelimelerini veya resimlerini içeren bir metindir. kural, öne, genellikle bir alt çizgi ile. Kullanıcı bu bağlantıyı bir fare tıklamasıyla etkinleştirebilir. Çoğu durumda, referansın böyle bir aktivasyonu, bu şekilde neden olan kaynağın geçerli belgenin yerine geçmesi gerçeğine yol açar. Bir köprünün yalnızca kelimeyi değil aynı zamanda belgenin bir bölümünü ve hatta belgenin herhangi bir resminde belirli bir formun bir bölümünü de ilişkilendirebilirsiniz.

Bazı yazarlar, bir köprü metni belgesini, diğer kaynaklara gitmek için menüyü içeren bir belge olarak tanımlar. Belgenin köprüsünün bir köprüsünün organizasyonu fikri, referans kitapları örneği ile gösterilebilir. Genelde sanatsal kitabını baştan sona (doğrusal olarak) okursak, daha sonra doğrusal olmayan bir şekilde okuduğumuz referans literatürü: Örneğin, yabancı bir sözcükle tanıştığımızda, bir uygulamada ya da açıklayıcı bir sözlükte arıyoruz, Sonra başlayan metne vb. İade ettik. Başka bir deyişle, dizinin farklı bölümlerine gerektiği gibi hitap ediyoruz.

Prensip olarak, metin okuması olmayan doğrusal olmayan fikri bilgisayarların ortaya çıkmasından çok önce ortaya çıktı. Örneğin, Mezmurlar Hilbert PareShysky'nin (yaklaşık 1150 reklam) kitabındaki yorumda, okuyucuyu kitabın diğer yerlerindeki sayfalara gönderen alanlara özel izler uygulandı.

Fikrin pratik uygulaması ve "hipertex" terimi, elektronik belgelerin ortaya çıkmasıyla birlikte, WWW servisinin kendisinden önemli ölçüde daha erken olmasına rağmen ortaya çıktı. İlk defa, "köprü metni" terimi, 1965'te TED Nelson (TED Nelson) tarafından kullanıldı. Apple, köprü metni sistemlerinin geliştirilmesine hipertext sistemlerinin geliştirilmesine katkıda bulundu.

Modern elektronik belgeler sadece metin değil, aynı zamanda herhangi bir multimedya bilgisi (metin, grafik, ses), sadece metin değil, aynı zamanda grafik nesneleri referans olarak kullanmaya başlamıştır. Zamanla, köprü metni kavramı hipermedia kavramına genişletildi. Hypermedia, farklı veri türlerine bağlantılara dayanarak multimedya bilgilerini düzenleme yöntemidir. Hiperteual belgeler sadece www olarak değil. Hipermedia tipik bir örneği, elektronik ansiklopedilerde yer alan multimedya bilgisidir. Örneğin, CD-ROM Ansiklopedisi'ndeki ötücü kuşlar hakkındaki metin, uygun bağlantıya gidebilir ve seçilen kuşun şarkısını dinleyebilir ve sonra uçuşunun kaydıyla bir video izleyebilirsiniz.

Dünyanın dört bir yanındaki sunucularda dağıtılan dijital bilgilerin birleştirilmesiyle ilgili olarak, bir köprü metninin özellikle üretken bir fikri ortaya çıktı. Burada doğrudan World Wide Web'in kavramına yaklaşıyoruz.

Dünya çapında Ağ

WW, internet temelinde düzenlenen küresel bir köprü metni sistemidir. WWW, bilgilerin dünyanın dört bir yanındaki çok sayıda web sunucusu ile ilişkili olduğu bir mekanizmadır. Web sunucusu, "HTTP isteklerini" tanıdığı ve bu isteklere göre, uygulamaları çalıştırmak ve belgeleri oluşturmak için belirli eylemleri gerçekleştiren bir programdır.

Web üzerinden sunulan bir belge, ortak bir konu ve gezinme - web düğümleri veya Web siteleri ile birlikte bir web sayfası ve sayfa grupları olarak adlandırılır. Bir Donanım Web Sunucusu birkaç web sitesini içerebilir, ancak büyük bir web sitesi bir grup Web Sunucusu (bilgisayarlar) tarafından desteklendiğinde ters bir durum mümkündür.

World Wide Web'i organize etme fikrini daha iyi anlamak için, bkz. Şekil. 2, haber bilgileri aramak için www kullanmanın bir örneğini gösterir. Amerika Birleşik Devletleri'nde yaşayan kullanıcının en son Moskova haberlerini bilmesi gerektiğini ve bu bilgiyi bulabileceğiniz sunucunun adresini bilmiyor. Gerekli verileri elde etmek için, ABD'deki bir bilgisayarda fiziksel olarak bulunan ve "Dünyadaki Haberler" konusuna adanmış olan ve kendisine iyi bilinen bir web sitesi adresi kazanması muhtemeldir. Açıkçası, tek bir sunucuda, dünyanın tüm köşelerinin yerel haberleri hakkında saklanamaz. Sunucunun üzerindeki dünya öneminin en önemli haberlerinin, farklı bölgelerle ilgili haber sitelerine bağlantılara sahip olması mümkündür. "Avrupa" bağlantısını seçerek, kullanıcı zaten Avrupa'da bir yerde bulunan başka bir bilgisayarla bağlantı kuracaktır (Şekil 2). Avrupa site sayfasının Rusya'ya bağlantısı olduğunu varsayalım. "Rusya" bağlantısına göre, Rusya'daki sunucuya bağlanabilirsiniz. Muhtemelen, bu sitedeki "Moskova" bağlantısına göre, kullanıcı gerekli bilgileri alacak ve muhtemelen ihtiyaç duydukları bilgileri sunacak olan dördüncü sunucuya bağlanır. Böylece, belirleme ve ayrıntılı bilgi, belirli bir alanın haberlerini alabilirsiniz. Şekilde sunulan örnekte, kullanıcı, kullanıcının farklı sunuculara istekleri ele aldığını ve bir sunucudan diğerine geçerken, her seferinde sunucuların adresini ayarlamanıza ve özellikle nerede olduklarını bilmek zorunda kalmaz. fiziksel olarak bulunur. Bu durumda, prosedürün kullanıcı için şeffaf olduğu söylenir, yani kullanıcı tüm işlemi aldıkları tüm sayfaları kendi bilgisayarındaymış gibi algılar. Böylece, bilgi görüntüleme süreci, "Tıklayın ve Get" ilkesini bir masaüstünde büyük bir kitabın sayfalarının transfüzyonu ile karşılaştırılabilir. Hypertext bağlantıları kullanarak belgeler üzerinde hareket etme işlemi, navigasyon veya sörf adını aldı.

Sörfün istenen belgelerin yeri hakkında bilgi gerektirmediği gerçeği, WWW servisinin popülaritesinin sadece temel rahatlığı ve nedenidir.

Tarayıcılar

aK Çoktan not aldık, tarayıcılarda iki ana fonksiyon uygulanır: Web sunucusundan bilgi isteyin ve istemci bilgisayarda görüntüleyin. Ek olarak, tarayıcıların ürün basitleştirme, seçilen sayfaları vb. Gösterilen yer imlerinin depolanması gibi ek servis fonksiyonlarına sahiptir.

Birçok yönden, tarayıcıların gelişimi iki geliştirici şirketinin rekabeti - Netscape ve Microsoft tarafından belirlenmiştir.

1990'ların ortalarında Netscape, Netscape Navigator ürünü nedeniyle büyük bir pazar payı ele geçirdi ve Microsoft, geliştirilen Internet Explorer'ı aktif olarak tanıtmaya başladı. Bu iki programın yüzleşmesinin tarihçesi, yeni fırsatların ortaya çıkmasına neden olan tarayıcıların savaşının adıydı. Windows işletim sistemi ve tarayıcı teklifi ile Internet Explorer entegrasyonu ücretsiz bir program olarak, Microsoft bu savaşı kazanmayı başardı. Sonuç olarak, tarayıcılar pazarı özel hale geldi: Bugün Internet Explorer ve Netscape Navigator'un en popüler programları ücretsiz olarak dağıtılırken, bazı alternatif ve önemli ölçüde daha az ortak programlar ödenir.

Yavaş yavaş, HTTP belgelerini görüntülemek için cihazlardan tarayıcılar evrensel internet istemcileri oldu. Web sayfasının yapısını anlattıktan sonra tarayıcıların çalışmaları hakkında daha ayrıntılı olarak konuşacağız.

internet sayfası

www, yalnızca diğer insanların sayfasını görüntülemeyeceğiniz ve yüzlerce milyon bilgisayarda sunulan çok sayıda bilgiye erişebileceğiniz, aynı zamanda kendi kaynaklarımızı oluşturan ve böylece gelecekteki tüm site ziyaretçilerine herhangi bir bilgiyi iletebileceğiniz gerçeğinden kaynaklanmaktadır. Başka bir deyişle, www küresel bir bilgi alışverişi mekanizmasıdır: Bazı insanlar web sunucuları hakkında bilgi verirken, diğerleri ise tarıyor. Web sitesini oluşturduktan sonra, sahibi farklı bir bilgi verebilir: bu kaynağın tüm ziyaretçilerine sunulacak metin, grafik, ses, animasyon. Sayfanızın ortaya çıkmasıyla, sizin veya şirketiniz hakkındaki bilgiler, haftanın yedi günü yüz milyonlarca kullanıcı için uygun olacaktır. Ziyaretçiye sağlanabilecek bilgi miktarı, radyo veya televizyonun aksine, zaman zaman pratik olarak sınırsızdır. Sitenizin en çok ziyaret edilmesi için, buna hızlı erişim sağlamak için gereklidir. Düzenli bir modem ve bir telefon hattıyla internete bağlayarak bir ev bilgisayarında bir Web sitesi oluşturmaya çalışırsanız, ona hızlı erişim sağlayamazsınız ve büyük olasılıkla potansiyel ziyaretçileri korkutmak. Deneyim gösterdiği gibi, en çok ziyaretçi uzun sayfayı yüklemeyi canlandırıyor, bu nedenle sitenizi yerleştirmek istediğiniz sunucu, yüksek hızlı bir İnternet bağlantısına sahip olmalıdır.

Kaynağınıza doğru erişim hızını sağlamak için, sözde barındırma sağlayıcısının hizmetlerini kullanmak arzu edilir. Hosting (İngilizce ana bilgisayardan - ana bilgisayardan), siteyi sağlayıcının fiziksel web sunucusuna veya sağlayıcının platformuna yerleştirilen kendi sunucusuna yerleştirmek için kaliteli bir sitenin sağlanmasıdır. Tipik olarak, barındırma sağlayıcısı ücreti, daha yüksek, kiralanan disk alanı ve trafik yoğunluğunu arttırır. Ancak, ücretsiz barındırma hizmetleri var. Üçüncü düzeyde bir etki alanı adı elde etmek istiyorsanız (örneğin, www.ivanov.narod.ru: (Birinci seviyenin etki alanı adı - RU, ikinci seviyenin etki alanı adı - Narod, üçüncü seviyenin etki alanı adı) - ivanov), o zaman büyük olasılıkla ücretsiz olacaktır. Üçüncü seviyenin alan adları, ücretsiz bir "halk" barındırma sunan birçok şirket tarafından sağlanmaktadır. Örneğin, www.your-name.narod.ru adının adı (nerede? İsim Kaynağınıza verebileceğiniz isimdir) Yandex şirketini sağlar. Ancak, katı, ikinci seviye bir etki alanına sahiptir - "_familia.ru veya your_compassion.ru" türünün adı en uygun olanıdır. Bu durumda, siz En azından etki alanı adınızı kaydetmek için ödeme yapmanız gerekecektir. Ancak bu isminiz varsa, meslektaşlarınız sizi internette bulabilir, hatta sitenizin tam adını bilmiyor. Örneğin, Site sadece tarafından kolayca bulunabilir. derginin adı. Aynı zamanda, bugün boş bir alan bulmak oldukça zor olduğu belirtilmelidir.

Küçük bir amatör site oluşturacaksanız, o zaman büyük olasılıkla üçüncü seviyenin etki alanı adını karşılayacaksınız ve ücretsiz yerleştirilmesiyle ilgili herhangi bir sorun olmayacak. Gelişirken ana sorunlar ortaya çıkacaktır.

Cihazlarını düşünene kadar kendi sayfalarınızı oluşturma hakkında konuşmak mantıklıdır. Bu nedenle, size bir web sayfasının ne olduğunu ve bir başlangıç \u200b\u200biçin, hipertext belgeleri oluşturmak için tasarlanmış köprü metni işaretleme dilinin (köprü metni işaretleme dili) temelleri hakkında konuşalım.

HTML.

Mevcut döngünün önceki yayınlarını zaten, çeşitli mimarlıkların çok sayıda bilgisayarının ve farklı bilgi ekranlarının internete bağlı olduğunu belirtti. Her ekipman türü için sayfaların geliştirilmesinin görevi pratik olarak imkansızdır. Belgenin milyonlarca bilgisayara sunulacağı gerçeğini dikkate alarak, hangi ekipmanın çalınacağı konusunda önceden belirlemek imkansızdır. Bir metin belgesi hakkında konuşursak, sadece farklı ekranlarda değil, aynı zamanda, örneğin bir konuşma sentezi programı tarafından çoğaltılabilir. Bu durumda, çıktı yönteminden bağımsız olarak belgenin fonksiyonel işaretlemesi okunmalıdır.

Belgenin herhangi bir araçta nasıl gösterilmesi gerektiğini belirtmek yerine, geliştiriciler aksi halde devam ettiler: Özel İşlevsel İşaretleme Dili - HTML'yi kullanmayı teklif etti. HTML belgesi, belgeyi doldurmayan bilgileri olmayan tüm kayıtları içeren gerçek metin ve işaretlemeden oluşur. HTML işaretleme, harici belgelere veya aynı belgenin iç bölümlerine bağlantıları tanımlamanızı sağlar ve ayrıca belge biçimlendirmesini de taşır.

Bir HTML belgesini düzenleme fikrini netleştirmek için, düzen için metni hazırlayan bir teknik editörün çalışmasıyla bir analojiyi yönlendirmek uygundur. Editör, metnin döşenmesini, formatın ne olması gerektiğine dikkat çekmesini, başlıkları nasıldır? Örneğin, bir işaret tipi olabilir: "Bu paragraf kalın harflerle yazılır, böyle bir teklif kırmızı olarak tahsis edilir ve böyle bir paragraftan sonra metni böyle bir şeyin sayfasından yerleştirin." Editörün yorumlarının doğru okunması için, özel işaretleme kuralları vardır. Projeksiyon, teknik editörün yorumlarını okur ve metinlere uygun olarak metin var.

Benzer yorumlar HTML belgesine kaydedilir, ardından tarayıcı tarafından okunurlar, böylece bilgisayar ekranındaki verilerin nasıl görüntüleneceğini, böylece. HTML Dili, 1980'lerin sonlarında fiziksel laboratuvar CERN'sinde (İsviçre) ve ilk başta yerel laboratuar ağında kullanıldı. Ancak yakında popülerlik kazandı ve internette yaygın olarak uygulanmaya başladı.

İşlevsel İşaretleme kavramının, belge biçimlendirme kavramından daha geniş olduğu belirtilmelidir. Örneğin, köprü metni işaretlemesi, belgedeki bir veya başka bir metnin sayfanın başlığı (başlık) olduğunu belirlemeyi mümkün kılar. Açıkçası, bu artık biçimlendirme değil, yani belgenin belirli bir bölümünün işlevselliğinin tanımı.

HTML, farklı platformlarda çeşitli tarayıcılar tarafından yorumlanabilecek bilgileri sunmak için yalnızca en genel talimatları açıklar. Aynı zamanda, başlangıçta, kaynak belgenin tüm istemciler tarafından çoğaltılmasının mutlak doğruluğunu elde etmenin imkansızlığının başlatılmasının imkansızlığı olarak kabul edilir.

Bu, aynı HTML kodu ile açıklanan sayfanın farklı platformlara sahip iki bilgisayarda farklı şekillerde farklılık gösterebileceği, modları ve tarayıcıları izleyeceği anlamına gelir. Tarayıcının, belgenin biçimlendirmesini, HTML'de bulunan talimatlar kümesine göre ve yeteneklerinden belirli bir bilgisayarla bilgi görüntüleme özelliklerini gerçekleştirdiği söylenebilir.

Örneğin, bilgisayarınızda bir veya başka bir yazıyı görüntülemek için öngörülen bir yazı tipi yoksa, mevcut setten en yakın olan başka birinin kullanılacaktır.

Ek olarak, kullanıcılar tarayıcı ayarlarını değiştirebilir, böylece belgenin onlar için en uygun şekilde görüntülenebilir.

Örneğin, tarayıcı ayarlarında, yazı tipinin renginin web sayfasında nasıl yapılacağını ve metin köprüsünün nasıl serbest bırakılması gerektiğini tanımlayarak, belgenin arka planını görüntülemek için renk seçim kurallarını belirleyebilirsiniz.

HTML komutları (veya köprü metni belge kontrol işaretleri) etiketler denir (İngilizce'den. Tag - etiket, işaretleyici), doğrudan belgenin metnine takılırlar ve açısal braketlerden oluşur.<...>.

Birleştirilmiş önceden belirlenmiş etiketler kümesi, çeşitli tarayıcıları kullanmanızı sağlar. HTML'nin web sayfalarını göndermek için kullanılması gerektiğine rağmen, örneğin CD-ROM'da yayınlanan belgeleri göndermek için diğer amaçlar için de uygulanabilir.

HTML'nin ana avantajı basitliğidir. HTML belgeleri hazırlamak için programlama dilleri hakkında bilgi gerektirmez. Tag girişini basitleştirmek için normal bir metin editörü veya özel kontrollere sahip özel bir HTML editörü kullanarak işaretleme etiketleri belgesi ekleyebilirsiniz.

Web sayfalarının görsel gelişiminin varlığı, bazı etiketlerin atanmasını bile hatırlamayan HTML belgeleri oluşturmanıza olanak sağlar. Görsel bir gelişme, kullanıcının, geliştirildiğinde, tarayıcı görüntülendiğinde neredeyse aynı göründüğü ve HTML kodunun otomatik olarak oluşturulduğu nesnelerle çalıştığı bir işlemdir.

Web sayfasında bilgi işareti için yüzden fazla etiket var. Çoğu etiket çiftler halinde kullanılır. Açılış ve kapanış etiketleri işaretleriyle başlar ve biter< и >. Bir kapanış etiketi, anahtar kelimenin önündeki bir sembol / (Slash) varlığından farklıdır. Örneğin, bir çift etiket (Bkz. Tabloya) Tarayıcı komutunu, Etiketler arasına yerleştirilen metnin kalın ve etiketlerde gösterilmelidir. Metin gösterildiğinde italik uygulanması gerektiği belirtilir. Açılış ve kapama etiketleri, aralarında sonuçlanan belgenin bir kısmını etkiler. Eşleştirilmiş etiketlerin yeri, yatırım kurallarının izlenmesi için gerçekleştirilir.

Eşleştirilen ek olarak, belirli bir yerde bir kerelik etkiyi belirleyen veya tüm belgeyi etkileyen eşleşmemiş etiketler var. Örneğin, TEG
Sık sık diziyi kırma ihtiyacını belirlemek için kullanılır.

Etiketlemenin etkisi, özellikler ekleyerek değiştirilebilir. Öznitelik (Lat. Attributum - ekli), durumunu belirleyen bir nesnenin bir işaretini gösterir. Bazı özelliklerin kullanımı, anahtar kelime özniteliğinden eşitlik işaretinden ayrılan ve alıntılarda yatan öznitelik değerinin özelliklerini ifade eder.

Etiket atama renk metni (tabloda üçüncü satırda gösterilir) bir niteliğe sahip bir etiket örneğidir.

En önemlilerinden biri, köprüleri belirleyen TEG'dir. Köprüyü belirlerken, bu geçişin adresi ile geçişin gerçekleşeceği web sayfasının elemanını ilişkilendirmelisiniz. Etiket, "Bağlantılı" kelimesinin ilk harfiyle, İngilizce'den "bağlı" anlamına gelir.

Geçiş adresi HREF özniteliği değeri ile belirlenir ve bağlantının gösterdiği kaynağın bir URL'sidir. Böylece, köprünün belirlenmesi için format aşağıdaki gibi gösterilebilir:

HTML belgesi etiketleri ile başlar (Sayfa adı, kod sayfasını belirleme, bir belge türü belirleme) Ve etiketler ile biter. Sayfaya dahil etmek istediğiniz dolgunun hemen hemen tümü etiketler arasına yerleştirilir. ve.

HTML standardı, W3C konsorsiyumu (World Wide Web Consorsium) ve Microsoft Internet Explorer ve Netscape Navigator gibi tarayıcı işlenmiş üreticiler tarafından tanımlanan bir dizi resmi önerilerdir. Dilin son standardı HTML 4.0'dır. Bununla birlikte, Internet Explorer ve Netscape Navigator, tek tek dil tasarımlarını farklı şekillerde yorumlar ve ayrıca yalnızca bu tarayıcı için belirli standart olmayan uzantıları da kullanır. Bu nedenle, prensip olarak, genişletilmiş HTML özelliklerini kullanarak sayfaların görüntüsünün farklı tarayıcılarda eşit derecede uygulanacağı garanti yoktur. Bu bağlamda, Web sayfalarının geliştiricileri, oluşturulan sitelerin işlevselliğini en azından yukarıdaki iki tarayıcıya kontrol etmek zorunda kalır.

Web sunucusunun mekanizması

hTML dili kavramını nasıl tanıttığımızın eşeği, Web sunucusunun ve tarayıcının çalışma mekanizmasını tanımlayabilirsiniz. Bir örnek düşünün.

Diyelim ki, yoldaşınızın web sitesini www.petrov.ru adresinden yarattığını ve özgeçmişini http://www.petrov.ru/resume.htm adresinden oluşturduklarını varsayalım. Bu özgeçmişi bilgisayarınızdan gördüğünüzde ne olur?

Tarayıcınızı yukarıdaki URL'yi yazdığınızda, tarayıcı program (HTTP), sunucu adı (www.petrov.ru) ve istenen dosyayı (resume.htm) hakkında bilgi alır. Tarayıcı, www.petrov.ru adresinin adını bulmak için DNS sunucusuna hitap eder. İstediğiniz sunucunun web sunucusuyla iletişim kurmasını ve HTTP protokolünü kullanan HTTP protokolünü kullanmayı isteyen IP adresine çevirir. Sunucu, bu belgeyi görüntüleyebilmesi için bir HTML sayfa tarayıcısı gönderir. Tarayıcı HTML etiketlerini okur, sayfayı bilgisayarınızın ekranındaki yeniden oluşturur ve isteğinizin sonucunu görürsünüz.

Genellikle, basit bir web sayfası bile sadece metin değil, aynı zamanda grafikler de bulunur. Başka bir deyişle, sayfa birkaç dosyadan oluşur, yani, genel olarak, bilgisayarınıza iletilen dosyanın yalnızca metin olmayabilir, aynı zamanda grafiği veya başka bir şey olmayabilir. Tarayıcı bu dosyaları nasıl tanır? Başlangıçta, sunucu, istemciyi hangi dosyanın gönderileceğini bildiren bir kısa mesaj gönderir: HTML formatında veya JPG formatındaki grafiklerde veya başka bir şeyde ve yalnızca bu içeriği iletir. bu dosya. Genellikle web sayfasının birçok dosyadan oluştuğu gerçeğine rağmen, bir istek sırasında, Web sunucusu yalnızca bir dosya gönderir. Yani, HTML metni aldığı ve içinde bulunduğu, örneğin grafik elemanına olan bir bağlantı, tarayıcı sunucuya yeni bir istek gönderir ve aynı zamanda HTML metninin geldiği aynı zamanda mutlaka aynı değildir. Muhtemelen, çoğu internet kullanıcısı, sayfa yükleri gecikme ile gerçekleştiğinde ve metin görüntülendiğinde duruma aşinadır ve ardından resimler görünmeye başlar. Bu durum sadece web sayfasının elemanlarını yükleme dizisini yansıtır. Her yeni dosyayı indirmek için tarayıcı yeni bir oturum ayarlamalıdır. Aynı zamanda, modern sunucular ve tarayıcılar çok iş parçacıklı modda çalışırken, birkaç oturum aynı anda gerçekleştirilebilir, ancak her yeni dosyayı indirmek için oturumu başlatılır.

İstenen kaynak bu adreste değilse, Web sunucusu muhtemelen ekranınızda bir kereden fazla gördüğünüz bir mesaj verecektir: 404 / dosya bulunamadı (dosya bulunamadı).

Statik ve dinamik sayfalar

tatic sayfaları, Web Sunucular dizininde yatan dosyaların doğru bir kopyasıdır ve geliştirici içindeki bir şeyi değiştirmeyene kadar değişmez. Bununla birlikte, sayfalar dinamik olarak oluşturulabilir, yani, bazı programlar için bir sorgunun işlenmesi sırasında, diskteki bitmiş dosyadan değil. Böyle bir sayfayı oluşturmanın birkaç yolu vardır:

  • doğrudan web sunucusunda istek üzerine oluşur. Web sayfalarının dinamik oluşumu olasılığını uygulamak için, sunucuya, dosyaların "sıradan" olduğu ve hangi talimatların yazılım işlemlerini içerdiği talimatlara vermeniz gerekir. Böylece, uygun Web sitesi dizinindeki tüm dosyalar, "yürütme" olan erişim hakları listesinde, dinamik olarak kabul edilir ve sunucunun kendisi, böyle bir dosyaya dayanırken belirli bir sayfayı oluşturmak için aracı seçer. adının niteliği ve / veya uzantısı. Aynı zamanda, sayfa sunucuyu (özel komutlar kullanarak) veya harici programı oluşturabilir, doğrudan veya CGI arayüzü aracılığıyla (Ortak Ağ Geçidi Arabirimi - Paylaşılan Ağ Geçidi Arabirimi). Dinamik bir sayfanın oluşumu için program bir derleme veya yorumlanabilir dilde yazılabilir. Dinamik sayfa oluşumu için komutları içeren programın metni bir komut dosyası denir. Scriptlerin özelliklerinin, bunları işlemek için harici programlara uygunluğun listesi, Web Sunucusu / Komut Dosyası işleyicilerinde ayarlanır. Örneğin, varsayılan olarak, * .pl ve * .cgi uzantılı komut dosyaları Perl Dili tercüman tarafından işlenir;
  • kullanıcının bilgisayarında oluşumu. Bu durumda, dinamik web sayfalarının oluşumu için programların metinleri, ilk önce kullanıcının yerel kullanıcısına aktarılır, burada tarayıcının zaten bir web sayfasını işlemek ve bunları almak için karşılık gelen aracı araması gerektiğidir. Dinamik bir sayfanın oluşumu için program hem derlenmiş hem de yorumlanabilir bir dilde de yazılabilir.

CGI teknolojisi

Muhtemelen daha önce var olmamış ve isteğinizde dinamik olarak oluşturulmuş olan sayfalarla rastladınız, "Anında" diyorlar.

Örneğin, herhangi bir geri bildirim defteri size kendi incelemenizi eklediğiniz kesin bir form sunar ve ardından bir dahaki sefere bu sayfayı açtığınızda, yeni bir mesaj içerecektir.

Web sayfasında dinamik içerik eklemenizi sağlayan teknolojilerden biri CGI olarak adlandırılır. Sadece bir veya başka bir URL ile ilişkilendirmenize izin verir, sadece statik bir belge değil, bir program, gerçek zamanlı olarak veri oluşabileceği bir sonuç olarak.

Hava durumu bilgisinin sağlanması ile bir örnek düşünün. Her gün hava koşullarının meteorolojik raporu ve günlük bir statik sayfa günlük olarak oluşturulabilir. Ancak, anında veri sağlamak istiyorsanız, her seferinde yeni bir sayfa oluşturmanız gerekir. Bu, CGI teknolojisi temelinde uygulanabilir. Sunucuya erişme sırasında, üzerinde bir CGI programı başlatılır, bu da dijital bir ölçüm cihazını belirtir ve sıcaklık, basınç vb. Hakkında bilgi verir. Bir kez daha bu adrese bakın, yeni bilgiler alacaksınız.

Başka bir örnek: Bir arama motoru sorgusu gibi bir talebi doldurduğunuzda, daha sonra CGI programının sonuçlarına istenen adres kümesi biçiminde yanıt verin.

CGI programı, gerçek zamanlı bir Web sunucusu tarafından başlatılan Web sunucusunun bir parçası olarak gösterilebilir. Sunucu, CGI programı isteklerini işleyen ve çalışmalarının sonuçlarını kullanıcı ekranına döndüren (Şek. 3) iletir. Çoğu Web Sunucusu'nda, CGI mekanizması aşağıdaki gibi düzenlenir: bu tür programların depolandığı ve web sunucusu yöneticisi, dosyaların ondan okunamayacağı şekilde buna erişimi yaptığını, ancak çalıştırılmasını sağlayan özel bir alt dizin oluşturulur. yürütme. Programın sonucu, talebe cevap olarak tarayıcıya gönderilir. Müşterinin bakış açısından, bu URL'nin adresine yerleştirilmiş bir fark yoktur, statik bir belge veya CGI programıdır. Tarayıcı, "Anında" oluşturulup oluşmadığına bakılmaksızın bilgileri eşit olarak algılar veya statik bir sayfadan bahsediyoruz. CGI programının sonucu, statik bir belge ile aynı formata sahiptir.

CGI kısaltması muhtemelen dünya çapında web üzerinden seyahat ederken tarayıcınızın satırında geldi ve büyük olasılıkla CGI programının genellikle bir dizinine bağlantı gördünüz. Konuk defteri, forum vb. Gibi birçok etkileşimli hizmet, CGI programlarına yerleşiktir.

"CGI" terimi uyarınca sadece programı değil, protokolü de anlayın. Bu anlamda, CGI, Web sunucusunun kullanıcı isteğini uygulama programına aktarması ve kullanıcıya göndermek için verileri geri aktarması için standart bir yöntemdir. Sunucu ile uygulama arasında veri göndermek için CGI protokolü, HTTP protokolünün bir parçasıdır.

Sayfanızı ücretsiz barındırma sunucularına gönderecekseniz, bu sunuculardaki CGI komut dosyalarının desteklenmemesi mümkün olduğu belirtilmelidir.

CGI'ye alternatif Microsoft Active Sunucu Sayfası (ASP) teknolojisidir, aynı prensipte inşa edilmiştir: Web sayfasında bulunan komut dosyası, sayfa kullanıcıya gönderilmeden önce sunucuda çalışıyor.

Aynı ilke üzerinde çalışan başka teknolojiler var.

Uzunluk: 22.

İsim \u003d Vasya & Okbutton \u003d Tamam

Yöntemi kullanırken İLETİ. Bu formlar "iki" sonra gönderilir. GİRİŞ-On "- isteğin gövdesinde. Her şey daha yüksektir - aslında istek başlığı (ve yöntemi kullandığımızda) Almak., bu formlar başlığa geçti).

Sunucunun sorgu gövdesini okumayı nasıl bitireceğini bilmesi için, başlıkta bir dize bulunur. İçerik Uzunluğu.; bu formların iletileceği aynı şey parametre1 \u003d value1 & parametre2 \u003d value2 ... ve değerler olarak iletilir uRLENCODE. - bu, yöntemi kullanmak gibi Almak.Ancak sorgu gövdesinde, - sunucu başlığını bildirir "İçerik türü: Uygulama / X-WWW-Form-urLencoded".

Ne olduğu hakkında uRLENCODE.- hemen aşağıda.

Yöntemin avantajı İLETİ:formun verileriyle dizgenin uzunluğunda kısıtlama yoktur.

Yöntemi kullanırken İLETİ. Formu göndermek imkansızdır, sadece "bağlantıya devam etmek", olduğu gibi Almak..

Sunumun kısalması için, ön ekin öznitelik değerine karşılık geldiği "GET-FORM" ve "FORM-FORM" terimlerini tanıtıyoruz. yöntem. Etiket.

.

Kullanma İLETİ.- Özniteliğinde Yapılır aksiyon. Soru işaretinden ve parametrelerinin ardından belirleyebilirsiniz. Almak.-th. Böylece, yöntem İLETİ. içerir ve yöntem Almak..

CGI teknolojisi

Nasıl oluşturulacağını düşündük HTML.- Form ve tarayıcının içine girilen sunucuya veri gönderdiğini. Ancak, sunucunun bu verilerle ne yapacağını henüz belli değil.

Kendi başına, web sunucusu yalnızca talep edilen sayfayı ve hiçbir şeyin ve iletilen tüm verileri genel olarak tamamen kayıtsızdır. Bu verileri herhangi bir programı kullanarak işleyebilmek ve bir tarayıcı yanıtı ve CGI teknolojisi (Ortak Ağ Geçidi Arabirimi) icat edildi.

Şuna bir bak URL: http://www.example.com/cgi-bin/form_handler.cgi.. Hesabında yapılabilecek ilk varsayım genellikle budur: Sunucu, dosyanın içeriğini verir. form_handler.cgi. Katalogdan cGI-bin.. Ancak, teknoloji durumunda Cgi Durum farklı. Sunucu programı başlattı form_handler.cgi. Ve bu formları transfer eder. Program, tarayıcıya talebe cevap olarak iletilen metni oluşturur.

Program form_handler.cgi. Herhangi bir programlama dilinde yazabilirsiniz, asıl şey standartlara uymaktır. Cgi. Örneğin, popüler bir Perl komut dosyası dilini kullanabilirsiniz. Ve Si veya Shell Scripts'te her şeyi yazabilirsiniz ... Örneğin, bu programı SI'ye yazacağız. Ancak önce, verilerin web sunucusu arasında nasıl değiştirildiğini anlayacağız ve Cgi-Frogram:

1. CGI programına başlamadan önce, sunucu ortam değişkenlerini ayarlar (muhtemelen yol komutuna aşinasınız). Her küçük, ciddi bir programlama dili, çevre değişkenlerini okumak için araçlara sahiptir. CGI standardı, CGI programına başlamadan önce tanımlanması gereken çok önemli bir değişken kümesini tanımlar. Şimdi sadece üçünü düşünün:

Request_method - Veri aktarımı yöntemi - Almak. veya İLETİ. (Başkaları var, ama şu ana kadar onları düşünmüyoruz)

Query_string. - parça içerir Url Bir soru işaretinden sonra veya başka bir deyişle, veri Almak.-th.

İçerik Uzunluğu.- Sorgu Vücut Uzunluğu (Veri İLETİ.- Formlar).

2. Sunucu başlar Cgi-Program. Sorgu gövdesi, program tarafından standart giriş biçiminde iletilir ( stdin) Bu veriler klavyekten girilirse.

3. Program standart sonucuna tarayıcı yanıtı ( stdout) - "Ekranda". Bu sonuç bir Web sunucusu tarafından yakalanır ve tarayıcıya iletilir.

o CgiProgram S.Web sunucusundan alınan form parametrelerinden alınan içeriğin geri çekilmesi:

1. #include.

2. #include.

4. int ana (geçersiz)

6. // Web sunucusu tarafından yüklenen ortam değişkenlerini okuyun

7. Char * query_string \u003d getenv ("query_string");

8. Char * Request_Method \u003d Getenv ("Request_Method");

10. Char * Post_Data; // posta istek verileri için tampon

11. int post_length \u003d 0; // sorgu vücut uzunluğu

13. Eğer (strcmp (strcmp (Request_Method, "post") \u003d\u003d 0) (// bir yazı isteği aldıysanız,

14. Post_Length \u003d ATOI (Getenv ("Content_length")); // ilk okumayı

15. // Değişken Orta Uzunluk,

16. Eğer (post_length) (// sıfır değilse,

17. Post_Data \u003d (char *) Malloc (Post_Length + 1); // Tampon için hafızayı seçin,

18. FREED (Post_Data, Post_Length, 1, STDIN); // standart giriş gövdesi isteğinden okumak,

19. Post_Data \u003d 0; // dizgiyi sıfır baytla tamamlayın.

23. // Yanıt başlığını göster ...

| | | | | | Web teknolojisinin temelleri

Diğer Web Teknolojileri

Java.

Sun Microsystems tarafından yaklaşık sekiz yıl önce tasarlanan Java programlama dili ve yapım ve sözdizimi olan birçok programcıyla tanınmış bir yapı, bugün online olarak iki seçenekte mevcuttur: Javascript ve Java kendisi. İlk dil varyantı sadece bir HTML eklentisidir ve bu formatta oluşturulan belgenin olanaklarını önemli ölçüde genişletir. JavaScript'te yazılan modül, HTML dosyasına bir alt yordam olarak entegre edilmiştir ve ilgili HTML kodu dizesinden standart bir komutla yürütmek için çağrılır. Entegre dil tercümanı, komut dosyasını ve köprü metni kodunu kendisini tek bir belge olarak algılar, aynı anda ve diğer verileri işler. Java modülü JavaScript'in aksine, kullanan sayfaya entegre edilmez ve uzantılı bağımsız bir uygulama vardır. Sınıf, bilimsel dili ifade eden, uygulamalı. Bu seçeneği kullanırken, Applet dili, HTML dosyasından karşılık gelen komutla da çağrılır, ancak arka planda ayrı bir program olarak yürütmek için yüklenir, başlatılır ve çalışır.

Java teknolojisinin yardımıyla, sayfanıza etkileşim maddeleri, form, bileşen ve açılır ve yerleşik çerçevelerin formatını tamamen izleyebilirsiniz, saat, koşu dizeleri ve diğer animasyon gibi aktif unsurları organize edebilir, sohbet oluşturabilirsiniz. . Siteye canlı bir görüntü ileten çoğu web kamerası da ilgili Java uygulamaları temelinde çalışır.

Bu teknolojinin avantajları arasında, Java programları sağlayan sunucuda herhangi bir ek modülü kurma ve yapılandırması gerek yokluğu yoktur. Java'nın ana dezavantajı, bu dilin derlenmesini desteklemeyen, Java ve JavaScript kullanılarak oluşturulan nesneleri algılayamayacak olan eski sürümlerin tarayıcıları kullanıcılarının mümkün olmayacağıdır.

Cgi

CGI teknolojisi (Ortak Ağ Geçidi Arabirimi), nesneden nesneye veri akışını ileten uygulamalar temelinde bir İnternet etkileşimli elemanlarının bir parçası olarak kullanımı ima eder. Çok sayıda sohbet odaları, konferanslar, bülten panoları, misafir kitapları, arama motorları ve derecelendirme sayma sistemlerinde çok organize edilmiştir. Genel olarak, CGI'nin çalışma prensibi aşağıdaki gibidir: Kullanıcı bir veya başka bir şeklin bir web sayfasını doldurur ve düğmeye basar, ardından CGI komut dosyası arama satırı HTML koduna girer, karşılık gelen CGI programını başlatır ve iletir. İşlem işleme işlemini kontrol etmek için. Kullanıcı tarafından girilen veriler bu programa gönderilir ve sırayla, onları başka bir sayfaya yerleştirir, posta ile gönderilir veya

dönüştürülen herhangi bir şekilde, CGI komut dosyaları, bir kural olarak, CGI-Bin adına atanan bu amaçlar için özel olarak atanmış bir dizinde sunucuya yerleştirilir. Bu tür programların bağlantısının, hata ayıklamasının ve başlatılmasının, HTTP sunucusuna ve belirli bilgi ve becerilere uygun erişim hakları gerektirdiği unutulmamalıdır.

CGI teknolojisi genellikle iki yöntemle uygulanır: PERL (pratik çıkarma ve raporluguagua) yazılmış programları kullanarak - bu dosyalar bir uzantıya sahiptir. VPI veya genellikle C dilini kullanarak oluşturulan ve doğrudan sunucuya derlenen uygulamaları kullanarak, çoğu UNIX- Uyumlu platformlar, bu dilin yerleşik tercümanı içerir. Bu tür programların bir uzantısı vardır. CGI. HTML gibi Perl'nin yorumlanmış bir dil olduğu belirtilmelidir. Başka bir deyişle, yürütme için benzer bir komut dosyası çalıştırmak için, ek bir derleme gerekmez. Bu teknolojiyi kullanarak belirtilen özelliklere ek olarak, reklam afişlerinin veya otomatik yükleme dosyalarının sırasını sunucuya dizisini görüntüleme sistemini düzenleyebilirsiniz, doğrudan site sayfasından veya sanal kartpostal servisinden bir e-posta gönderme bir e-posta formu oluşturabilirsiniz. CGI'nin avantajları arasında, istemci yazılımından bağımsızlıklarını not etmek gerekir - bu teknoloji, tarayıcının neredeyse herhangi bir sürümünü kullanarak sunucunun içeriğini görüntüleyen her kullanıcıyı kullanabilecektir. Ana dezavantaj, en azından yönetici haklarına sahip olması gereken sunucuya CGI uygulamalarını kurmak ve kurmak, çünkü bu programlar sunucu bilgisayarının normal çalışmasını ihlal edebilecek ve ağın çalışmasını istikrarsız hale getirebildiğinden.

Ssi

SSI (sunucu tarafı dahil) - Teknoloji, yukarıdaki CGI ile yakından iç içe geçmiştir. Makro diline dayanarak, çok hatırlatan, SGK, belirli koşullara bağlı olarak veya belirli bir algoritmaya göre bir metnin veya başka bir belgede çıkış olarak bu tür yetenekleri uygulamanıza olanak sağlar, dinamik olarak değiştirilen parçalardan veya gömülükten bir HTML dosyası oluşturun. Herhangi bir alandaki CGI işleminin sonucu. SGK'ların avantajları ve dezavantajları, önceki paragrafta açıklananlara benzerdir.

CSS.

Genellikle, Web Tasarımcısı, bir HTML belgesi oluşturma işleminde karmaşık biçimlendirme uygulamasına, yazı tipini, metnin yerini, rengini, rengini, çeşitli veri tablolarını oluşturması için paragrafa paragrafın oluşturulması sürecinde uygulamaya ihtiyacı vardır. Bu sorunu standart HTML araçlarını kullanarak çözebilirsiniz: her paragrafı ayrı bir takım grubuyla tanımlayın, ancak bu durumda nihai belge büyük bir boyuta sahip olacak ve kodun oluşturulması çok zahmetli olur. Başka bir yoldan gidebilirsiniz: CSS standardında yapılan harici dosya sayfasına bağlanın (basamaklı stil tablolarında), sayfa biçimlendirmesini bir kez özel bir makro dille ayarlamak zor. Başka bir deyişle, CSS dosyası, HTML belgesinde metin, tabloları ve diğer öğeleri biçimlendirmek için kullanılan belirli bir şablonun rolünü gerçekleştirir. Aynı fiziksel CSS dosyasını sitenin çeşitli web sayfalarına bağlamak mümkündür. CSS, herhangi bir kısıtlama olmadan herhangi bir sunucuda neredeyse kullanılabilir. Bu teknolojinin büyük dezavantajları da pratik olarak yoktur. CSS Cascade Masaları hakkında sekizinci derste pazarlık edeceğiz.

Pnr

PNR (Kişisel Ana Sayfa Araçları), etkileşim elemanlarının web sayfalarını vermek için tasarlanmış Perl'ye benzeyen bir başka yorumlanabilir dildir. PNP dilinde yazılan kod, bir alt yordam gibi HTML belgesine gömülür: Etkileşimli bir eleman yerleştirmeniz gereken belgenin bu bölümüne, RNR komut dosyası basitçe eklenir. Bu dilin Mnemonica, öğrenmenin zorluğuna neden olmayan Perl, Java ve C'nin sözdizimine dayanır. Sunucuların RNR komut dosyalarını içeren dosyaları doğru şekilde tanımalarını sağlayan yöntemler farklıdır ve ilk olarak belirli sunucu türüne bağlıdır. Bir uzatma atamak için yeterli olduğu kabul edilir. PHP, bazen - kullanılan dilin sürüm numarasının eklenmesiyle, örneğin .Php2 veya.Php3.

RNR teknolojisi, Web sayfasında bir ziyaret sayacı düzenlemenizi, sitenin bir veya başka bir bölümüne olan temyiz istatistiklerini saymanıza, herhangi bir HTML şifresi belgesine erişimi koruyun ve çok daha fazlasını yapın. PNR'nin eksiklikleri arasında, bu teknolojinin tüm İnternet sunucuları tarafından desteklendiği belirtilmelidir.

ASP.

ASP (Active Sunucu Sayfaları, Aktif Sunucu Sayfaları) - JavaScript ve PHR'ye benzer başka bir teknoloji. ASP teknolojisini kullanarak bir Web sayfası içeriğini yapmak için, uygun komut dosyasını makro dilinde yazılı olarak, Java ve C'yi uzaktan hatırlatan koduna gömmek gerekir. Komut dosyası, sonra doğrudan sunucuda yorumlanır ve yürütülür. Kullanıcı tarayıcısının Hazır HTML belgesi gönderildiği sonuçlar, ASP betiğinde çalışır. Buradan, ASP içeren sayfalar için, bir kullanıcı bilgisayara hangi yazılımın kurulduğu önemli olmadığı bir sonucuna değer. Ancak, sunucu türü, bu teknolojiyi desteklemediği için ASP'yi kullanmayı planladığınız temel öneme sahiptir.

İçerik

Muhtemelen daha önce var olmamış ve isteğinizde dinamik olarak oluşturulmuş olan sayfalarla rastladınız, "Anında" diyorlar.

Örneğin, herhangi bir geri bildirim defteri size kendi incelemenizi eklediğiniz kesin bir form sunar ve ardından bir dahaki sefere bu sayfayı açtığınızda, yeni bir mesaj içerecektir.

Web sayfasında dinamik içerik eklemenizi sağlayan teknolojilerden biri CGI olarak adlandırılır. Sadece bir veya başka bir URL ile ilişkilendirmenize izin verir, sadece statik bir belge değil, bir program, gerçek zamanlı olarak veri oluşabileceği bir sonuç olarak.

Hava durumu bilgisinin sağlanması ile bir örnek düşünün. Her gün hava koşullarının meteorolojik raporu ve günlük bir statik sayfa günlük olarak oluşturulabilir. Ancak, anında veri sağlamak istiyorsanız, her seferinde yeni bir sayfa oluşturmanız gerekir. Bu, CGI teknolojisi temelinde uygulanabilir. Sunucuya erişme sırasında, üzerinde bir CGI programı başlatılır, bu da dijital bir ölçüm cihazını belirtir ve sıcaklık, basınç vb. Hakkında bilgi verir. Bir kez daha bu adrese bakın, yeni bilgiler alacaksınız.

Başka bir örnek: Bir arama motoru sorgusu gibi bir talebi doldurduğunuzda, daha sonra CGI programının sonuçlarına istenen adres kümesi biçiminde yanıt verin.

CGI programı, gerçek zamanlı bir Web sunucusu tarafından başlatılan Web sunucusunun bir parçası olarak gösterilebilir. Sunucu, CGI programı isteklerini işleyen ve çalışmalarının sonuçlarını kullanıcı ekranına döndüren (Şek. 3) iletir. Çoğu Web Sunucusu'nda, CGI mekanizması aşağıdaki gibi düzenlenir: bu tür programların depolandığı ve web sunucusu yöneticisi, dosyaların ondan okunamayacağı şekilde buna erişimi yaptığını, ancak çalıştırılmasını sağlayan özel bir alt dizin oluşturulur. yürütme. Programın sonucu, talebe cevap olarak tarayıcıya gönderilir. Müşterinin bakış açısından, bu URL'nin adresine yerleştirilmiş bir fark yoktur, statik bir belge veya CGI programıdır. Tarayıcı, "Anında" oluşturulup oluşmadığına bakılmaksızın bilgileri eşit olarak algılar veya statik bir sayfadan bahsediyoruz. CGI programının sonucu, statik bir belge ile aynı formata sahiptir.

CGI kısaltması muhtemelen dünya çapında web üzerinden seyahat ederken tarayıcınızın satırında geldi ve büyük olasılıkla CGI programının genellikle bir dizinine bağlantı gördünüz. Konuk defteri, forum vb. Gibi birçok etkileşimli hizmet, CGI programlarına yerleşiktir.


"CGI" terimi uyarınca sadece programı değil, protokolü de anlayın. Bu anlamda, CGI, Web sunucusunun kullanıcı isteğini uygulama programına aktarması ve kullanıcıya göndermek için verileri geri aktarması için standart bir yöntemdir. Sunucu ile uygulama arasında veri göndermek için CGI protokolü, HTTP protokolünün bir parçasıdır.

Sayfanızı ücretsiz barındırma sunucularına gönderecekseniz, bu sunuculardaki CGI komut dosyalarının desteklenmemesi mümkün olduğu belirtilmelidir.

CGI'ye alternatif Microsoft Active Sunucu Sayfası (ASP) teknolojisidir, aynı prensipte inşa edilmiştir: Web sayfasında bulunan komut dosyası, sayfa kullanıcıya gönderilmeden önce sunucuda çalışıyor.

Aynı ilke üzerinde çalışan başka teknolojiler var.

Şekilde görüldüğü gibi. 3, CGI programı sunucu tarafında çalışır.

Bununla birlikte, programları istemci tarafındaki dinamik içeriği oluşturan istemci bilgisayara aktararak dinamik sayfalar düzenlemek de mümkündür (Şek. 4).

İncir. dört

Bu teknoloji şu şekilde uygulanır: Aktif belgeler web sunucularında saklanır ve yerel bir bilgisayara ve statik sayfalara indirilir, ancak aktif belge programı yerel bilgisayarda ortaya çıktıktan sonra, kullanıcının içindeki belirli hesaplamaları başlatır ve gerçekleştirir. Bilgisayar, yerel bilgi işlem kaynaklarına dayanarak. Ve bu hesaplamaların sonuçları zaten ekranda görüntülenir. Buna göre, ekrandaki veri ekranı hızı uzak sunucu ile iletişim hızına bağlı değildir, çünkü aktif belgenin çıkışı yalnızca yerel bilgisayara indirdikten sonra gerçekleşir. Aktif belgeler oluşturmak için çeşitli teknolojiler kullanılabilir: JavaScript, Java-Draft ve ActiveX denetimlerinde yazılmış uygulamalar.

CGI - Ortak Ağ Geçidi Arabirimi Bir HTTP Type Information Server, Web Sunucusu olan harici bir uygulama programının bir arabirim standardıdır.

Genellikle www sunucularından alınan köprü metni belgeleri statik veriler içerir. CGI ile, çağrılan CGI programları oluşturabilirsiniz. ağ geçitleriBu tür bir uygulama sistemleri ile bir veritabanı yönetim sistemi, bir elektronik tablo, iş grafikleri vb. Olarak işbirliği yapacak olan kullanıcı ekranında dinamik bilgileri görüntüleyecektir.

Ağ Geçidi programı www sunucusunu gerçek zamanlı olarak başlatır. WWW Sunucu, kullanıcı isteğini ağ geçidine sunar ve uygulama aracını kullanarak, isteğin sonucunu kullanıcının ekranına geri döndürür. Ağ Geçidi Programı C / C ++, Fortran, Perl, TCL, UNIX Schell, Visual Basic, Apple Script'te kodlanabilir. Yapılan bir modül olarak, alt dizinde CGI-Bin www sunucusu adı ile yazılmıştır.

Veri aktarma ağ geçitleri

Bilgi isteğiyle ilgili bilgileri sunucudan ağ geçidine aktarmak için, sunucu komut istemini ve çevre değişkenlerini kullanır. Bu ortam değişkenleri, sunucunun ağ geçidi programını yürüttüğü anda ayarlanmıştır.

Çeşitli yöntemler için istek

Bilgi ağ geçitleri aşağıdaki formda iletilir:

İsim \u003d Değer ve Name1 \u003d Value1 & ..

adın değişkenin adı olduğu ve değer gerçek değeridir. Talep etmek için kullanılan yönteme bağlı olarak, bu dize (GET metodu durumunda) veya HTTP sorgusunun içeriği olarak (posta yöntemi) görünür veya URL'nin bir parçası olarak görünür. İkinci durumda, bu bilgi geçit tarafından standart giriş akışına gönderilecektir.

Standart giriş akış dosyası Content_Length Byte'a gönderilir. Sunucu ayrıca Content_Type Gateway'i (iletilen veri türü) iletir. Sunucu, Content_Length veri baytını gönderdikten sonra ve ağ geçidi onları okuduktan sonra dosya son sembolünü göndermek zorunda değildir.

Misal

Örnek olarak formun formunun formunun sonucunu kullanın (yöntem \u003d "POST") örnek olarak. 7 baytın yaklaşık olarak kodlanmasına izin verin:

Bu durumda, sunucu 7 ve Content_Type Content_Length değerini Uygulama / X-WWW-Form-UrLencoDed'de ayarlayacaktır. Geçidi için standart giriş akışındaki ilk karakter "A" olacak, ardından kodlanmış dizgenin geri kalanını takip eder.

Komut satırının argümanları

Sunucudan komut satırındaki ağ geçidi alır:

URL'nin geri kalanı, ilk parametre olarak ağ geçidinin adından sonra (ilk parametre boş olacak, eğer ağ geçidinin adı) ve
- Arama komut dosyası için komut satırı kalıntısı olarak anahtar kelimelerin listesi veya
- Eklenen eşitlik işaretiyle (çift pozisyonlarda) ve değişkenlerin karşılık gelen değerleri (tek pozisyonlarda) alternatif alan adları.

Anahtar kelimeler, form alan adları ve değerleri kod çözülmüş (HTTP kodlama formatı URL'sinden) iletilir ve Bourne Shell kodlama kurallarına göre yeniden kodlandı, böylece komut satırındaki ağ geçidi, ek dönüşümler yapılması gerekmeden, olduğu gibi bilgi alacak. .