|
CGI (Common
Gateway
Interface)
CGI’ ın
ne
olduğunu
anlatmaya
geçmeden
önce
bazı
kavramların
açıklanması
gerekmektedir.
Buna Web
Server
ve
Client
ile
başlamak
yerinde
olur.
Web
Server’
lar (HTTPd
Server),
Web
sayfalarını
üzerinde
bulunduran
makinalardır.
Bu
makinalar
genelde
kendi
üzerlerinde
bulunan
Web
sayfalarına
erişmek
için 80
numaralı
portu
kullanırlar.
Client
ise, Web
Server’
lar
üzerindeki
Web
sayfalarına
erişmek
isteyen
makinalardır.
Client
herhangi
bir
porttan
Web
Server
ile
iletişim
kurabilir.
Stdin
standard
input’
un
kısaltılmışıdır
ve
server
açısından
client’
ın
server’
a
gönderdiği
veriler
anlamına
gelir.
Stdout
standard
output’
un
kısaltılmışıdır
ve
server’
ın
client’
ın
gönderdiği
verileri
işlemesi
sonucunda
client’
a
gönderdiği
sonuç
bilgisi
anlamına
gelir.
Yukarıdaki
açıklamalardan
da
anlaşıldığı
gibi,
HTTP
protokolü,
server’
dan
client’
a ve
client’
tan
server’
a veri
aktarımını
destekler.
Client’
ın
server’
a veri
gönderebilmesi,
formlar
aracılığıyla
olur.
Form,
client’
ın
server’
a veri
ulaştırmasını
sağlamak
amacıyla
HTML
dili
kullanarak
yazılmış
Web
sayfalarıdır.
Kullanıcının
(client)
form
aracılığıyla
server’
a
gönderdiği
bilgiyi
işleyecek
server
tarafında
çalışan
bir
programa
ihtiyaç
vardır.
Bu
programa
gateway
programı
denir.
CGI (Common
Gateway
Interface),
client’
ın
gönderdiği
input
verileri
alıp,
gateway
programına
veren (gateway
programının
çalışmasını
sağlayan)
ve
programın
çıktısını
tekrar
client’
a
ileten,
kısaca
server
ve
server
tarafındaki
gateway
programları
arasında
iletişimi
sağlayan,
bir
arayüz,
protokoldür.
Bir Web
Client
programının
(Web
browser),
HTTP
server’
ına veri
göndermesini
sağlamak
için
hazırlanan
formlar,
HTML
diliyle
aşağıdaki
gibi
başlar:
<FORM
ACTION=”URL”
METHOD=get
| post>
…..
…..
</FORM>
Action
seçeneğinde
belirtilen
URL,
formun
doldurulduktan
sonra,
hangi
Web
server’
daki
hangi
program
tarafından
işleneceği
bilgisini
ifade
eder.
Method
seçeneği
ise,
formun
Web
server’
ına
hangi
methodla
ulaştırılacağını
belirtir.
Yukarıdan
da
anlaşılacağı
gibi,
formdaki
bilgiler
iki
methodla
ulaştırılabilir.
Get
metodu
kullanılırsa,
veri
çevresel
değişkenler
aracılığı
ile, Web
Server’
a
ulaştırılır.
Bu
metodla
bütün
form bir
query_string
değişkeninin
içine
konur,
action
kısmında
belirtilen
adres ve
programın
sonuna
eklenir
ve tek
bir URL
olarak
gönderilir.
http://bla.bla.edu./stuff/program?query_string
Veri
büyüklüğü
sınırlandırılmıştır.
Bu
yöntem
kullanıldığı
zaman,
actionda
belirtilen
URL önce
decode
edilmelidir,
çünkü
form
doldurulup,
submit
edildiğinde,
browser
bütün
bilgiyi
URLencode
eder.
Decode
işlemi
bir CGI
script (gateway
programı)
ile
yapılabilir.
Yukarıda
submit
edilen
URL
incelendiğinde,
soru
işaretine
kadar
olan
kısmın,
formun
action
kısmında
yer alan
adres ve
program
olduğu
görülür.
Soru
işaretinden
sonraki
kısım
ise,
gönderilen
verilerin
yer
aldığı
değişkendir.
Post
metodu
kullanıldığında
ise, CGI
veriyi
stdin
olarak,
alır ve
bütün
çevresel
değişkenlere
gerekli
atamaları
yapar.
Veri
üzerinde
herhangi
bir
büyüklük
sınırlaması
yoktur.
|