Bu makalenin farkl� dillerde bulundu�u adresler: Turkce |
by Charles vidal Yazar Hakk�nda: Chairman of a gastronomical lug in Paris. Yazar, A��k Kod sisteminin ve GNU'nun ard�ndaki felsefeyi benimsemi�tir, ��nk� bu felsefe bilgi payla��m�na yard�mc� olmaktad�r. Yazar ayr�ca bo� zamanlar�nda saksafon �almaktan ho�lan�r. ��erik: |
�zet:
Bu makale en �ok kullan�lan web sunucusu olan Apache hakk�nda olup iki b�l�m olarak haz�rlanm�� t�m anlat�m�n ilk k�sm�d�r. Bu b�l�mde, WWW 'nin k�sa bir tarihini tan�mlarken ikinci b�l�mde HTTP protokol�ne bir giri� yapaca��m.
Apache, bu �cretsiz WEB
sunucusu projesinin ismidir. Apache ismi hafif bir tart��man�n
ortas�nda kalm��t�r. Baz�lar� ismin "a
patchy server" 'dan geldi�ini iddia ederler
��nk� ba�lang��ta say�s�z yama(patch)dan
olu�turulmu�tur (yine bir hacker takti�i :) ). Di�er bir kesim
ise duruma daha ciddi bir hava ile yakla�maktad�r. Bu kesime g�re
proje ismi Apache kabilesinden esinlenerek yarat�lm��t�r. Her
durumda ortama y�ksek uyum g�c�ne sahip bir kabile!
Apache �u anda internette en �ok kulan�lan WEB sunucusudur. O,
consortium w3 taraf�ndan
standartla�t�r�lan HTTP
protocol (1.1) 'e uyumludur.
1999 'da yap�lan bir Net sunucular�
ara�t�rmas�,
Apache WEB sunucusunun t�m sunucular i�inde %60,05 lik bir
kullan�m pay�na sahip oldu�unu g�stermektedir.
Bir WEB sunucusu sunucu-istemci (anatar-kilit gibi) ikilisinin
"sunucu" taraf�n� olu�turur. Bir sunucu "WEB
istemcileri" 'den gelen istemlere yan�t verir. �rene�in,
lynx WEB gezginlerinde oldu�u gibi :-).
�� par�aya ayr�lm�� bir sat�rl�k yaz�d�r :
Cevap istem tipine ba�l� olarak bir g�vde ve bir ba�l�k k�s�mlar� olmak �zere olu�turulur.
>telnet www.linuxfocus.org 80 Trying 213.239.9.21... Connected to nova.linuxfocus.org. Escape character is '^]'. GET / HTTP/1.0 <return> <return> HTTP/1.1 200 OK Date: Mon, 27 Sep 1999 21:23:20 GMT Server: Apache/1.3.3 (Unix) (Red Hat/Linux) Last-Modified: Sun, 26 Sep 1999 16:40:44 GMT ETag: "4b005-1616-37ee4c8c" Accept-Ranges: bytes Content-Length: 5654 Connection: close Content-Type: text/html <PAGE HTML> |
Bu cevap ne diyor?
Telnet ile ba�lanma i�lemi tamamland�ktan sonra "GET /
HTTP/1.0" istemine cevap verilmeye ba�lan�yor. �lk sat�r
(HTTP/1.1 200 OK) kullan�lan protokol� ve sunucunun d�n��
de�erini g�steriyor (d�n�� de�erinin 400 den b�y�k
olmas� bir hata oldu�una i�aret eder). Bu sat�r� tarih,
sunucunun s�r�m numaras� , URL �zerinde yap�lan son
de�i�ikli�in tarihi (ki bu tarih istemcinin URL 'de yer alan
dosyalar�n zaten onun cache(gizli saklama b�lgesi) inde yer al�p
almad���n� bilmesini sa�lar). "Content-Length" ifadesi
g�nderilen cevab�n uzunlu�unu belirtir (benzer �ekilde bir CGI
(Common Gateway Interface) beti�ine yap�lacak istemden al�nacak
cevap b�yle bir ifade i�ermez) ve son olarak "Content-Type" ifadesi
istemciye cevap verilirken kullan�lan MIME tipini g�sterir (text,
html, images ...).
Bu tam olarak bir a��klama say�lmaz. Baz� sat�rlar hala
bende gizli kald� ;-)
�imdi de bir hata durumunda neler olaca��na bakal�m :
>telnet www.linuxfocus.org 80 Trying 213.239.9.21... Connected to nova.linuxfocus.org. Escape character is '^]'. get / HTTP/1.0 <return> <return> HTTP/1.1 501 Method Not Implemented Date: Mon, 27 Sep 1999 21:22:03 GMT Server: Apache/1.3.3 (Unix) (Red Hat/Linux) Allow: GET, HEAD, OPTIONS, TRACE Connection: close Content-Type: text/html |
G�rd���n�z gibi, ba�l�k "HTTP/1.1 501 Method Not
Implemented (HTTP/1.1 metodu yerine getirilemedi)" diyerek durumu
yeterince a��klad� zaten ;-)
HTTP -bu �rnekte de g�rd���m�z gibi- ger�ekten �ok
basit bir protokold�r.
>telnet www.linuxfocus.org 80 Trying 213.239.9.21... Connected to nova.linuxfocus.org. Escape character is '^]'. GET / < return > < return > |
Apache sunucusunun i�inde neler oluyor ?
Telnet komutunu kullanarak www.linuxfocus.org (IP adresi 195.53.25.1) 'a
80. port(giri� kap�s� diyebiliriz herhalde :) ) 'undan
ba�land�ktan sonra (port 80 http sunucular i�in standart port
kabul edilir) sunucu her hangi bir istem i�in beklemeye ge�er. GET/
komutu ile beraber iki return(devam-enter) i�areti verirsiniz.
Neden iki return(devam) i�areti ?
�lk return i�aretinden sonra verilen son return i�areti
sunucuya bo� bir sat�r g�nderir. Sunucu bo� sat�r�
g�rd���nde istemin tamamland���n� anlar.
Sunucu isteme istek dosyas� (index.html) ile cevap verir. TCP/IP
ba�lant�s� istek dosyas�n� transferinden hemen sonra
kapat�lacakt�r.
G�rd���n�z gibi, istemci ve sunucu aras�nda kullan�lan dil ger�ekten �ok basittir ancak HTTP/1.0 s�r�m� yerine HTTP/1.1 s�r�m�n� kulland���n�zda isteminiz i�in zorluk biraz artacakt�r.
GET / HTTP/1.0< return > < return > HTTP/1.1 200 OK Date: Tue, 24 Aug 1999 22:25:11 GMT Server: Apache/1.3.3 (Unix) (Red Hat/Linux) Last-Modified: Sun, 01 Aug 1999 11:50:52 GMT ETag: "4b005-1462-37a4349c" Accept-Ranges: bytes Content-Length: 5218 Connection: close Content-Type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> ....fakat 1.1 'i kullanmak �u sonu�lar� verir :
GET / HTTP/1.1 <return > < return > HTTP/1.1 400 Bad Request Date: Tue, 24 Aug 1999 22:24:59 GMT Server: Apache/1.3.3 (Unix) (Red Hat/Linux) Connection: close Transfer-Encoding: chunked Content-Type: text/html <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <HTML><HEAD> <TITLE>400 Bad Request</TITLE> </HEADBODY> <H1>Bad Request</H1> Your browser sent a request that this server could not understand.<P> client sent HTTP/1.1 request without hostname (see RFC2068 section 9, and 14.23): </P> </BODY></HTML>Yeni HTTP/1.1 protokol�n� kullanmak daha fazla bilgi alan� kullan�lmas�n� gerektirir. Bu protokol bir�ok sat�r �zerinden yap�land�r�lmaktad�r. Bu ilave sat�rlar daha kesin bilgiler iletilmesini sa�larken di�er yandan ileti�imin kalitesini y�kseltir.
�rnek :
GET / HTTP/1.0< return > Host:www.linuxfocus.org< return > < return > [...]Bu durum bir�ok istemci-sunucu �iftinde sorunsuz i�lemektedir. Sunucu istemi cevaplarken :
WEB sunucusu WEB istemcisi ile sorgulanan URL (Uniform Request Locator) aras�nda bir aray�zd�r - bu �zet tabiki sunucunun yaln�zca URL i�in kullan�labilece�i anlam�na gelmez. Ayr�ca sunucu URI, URN bulmak i�inde kullan�labilir. Asl�nda basit�e hepsi ayn� �eylerdir - ve Apache sunucusu i�letim sistemi �zerinde �al��maktad�r.. WEB istemcisi kendi istemlerini g�nderir ve sunucuda isteme sunulabilecek uygun bir URL ile cevap verir.
�stemci taraf�ndan g�nderilen baz� istemler baz� durumlarda direkt olarak sunucu taraf�ndan cevaplanmaz. Sunucu istemi bir di�er programa aktarabilir ve program�n d�nd�rd��� d�n�� de�erini istemciye cevap olarak iletebilir. Bu duruma CGI betikleri �rnek olarak g�sterilebilir.
|
Bu WEB
sayfalar� LinuxFocus Edit�r Tak�m� taraf�ndan
haz�rlanmaktad�r.
© Charles vidal LinuxFocus.org 2000 Linuxfocus 'a hata bildirmek yada bir yorum g�ndermek i�in buraya t�klay�n�z |
�eviri bilgisi:
|
2000-05-01, generated by lfparser version 1.5