HTTP Get ve Post Metodları

HTML’de client ve server arasında bir istek ve yanıt için yaygın olarak kullanılan iki yöntem vardır. Bunlar get ve post yöntemleridir. Get ve post yöntemleri tüm diğer yazılım dilleri ile %100 uyumlu olarak çalışabilmektedir.

Get

İstek verileri belirli bir kaynaktan gönderilir. Bir diğer deyiş ile form verilerini veya manuel olarak belirleyeceğimiz verileri adres çubuğundan veri gönderimi anlamına gelmektedir.

Örneğin;

http://www.siteadi.com?veri1=deger1&veri2=deger2

Gönderilecek olan istekler belleğe alınabilir ve istekler browser tarafından geçmişte saklanabilir, yer imlerine / sık kullanılanlara kayıt edilebilir.
Gönderilecek olan istekler için adres çubuğu kullanılacağı için uzunluk kısıtlamalarına maruz kalabilir. (maksimum 2048 karakter)
Gönderilecek olan istekler yine get metodu ile alınabilir. (kullanılacak yazılıma göre değişiklik gösterebilir)
Gönderilecek olan isteklerde Türkçe karakter kullanılırsa URL Encoding’e maruz kalabilir.
Gönderilecek olan isteklerde ileri ve geri butonları kullanılacak olur ise herhangi bir uyarı olmadan işlem yapılabilir.
Gönderilecek olan isteklerde resim, video, ses, doküman vs. çok parçalı dosya içeriği mevcut olamaz.
Gönderilecek olan isteklerde get yöntemi post yönteminden daha az güvenlidir.
Gönderilecek olan isteklerde tüm veriler herkesin görebileceği şekilde olduğu için hassas veriler içeriyorsa kullanılmamalıdır.


Post

İstek gönderdiğinde veriler belirtilen kaynaktan alınarak işlenir. Bir diğer deyiş ile form verilerini veya manuel olarak belirleyeceğimiz verileri, veri gönderim tag’ları aracılığı ile kapalı olarak gönderim anlamına gelmektedir.

Örneğin;

http://www.siteadi.com

Gönderilecek olan istekler asla belleğe alınamazlar ve istekler browser (tarayıcı) tarafından geçmişte asla saklanamazlar, yer imlerine / sık kullanılanlara asla kayıt
edilemezler.
Gönderilecek olan istekler kapalı olarak iletileceği için uzunluk kısıtlamalarına asla maruz kalmazlar.
Gönderilecek olan istekler yine post metodu ile alınabilir. (kullanılacak yazılıma göre değişiklik gösterebilir)
Gönderilecek olan isteklerde Türkçe karakter kullanılırsa kapalı veri gönderileceği için URL Encoding’e
maruz kalmazlar.
Gönderilecek olan isteklerde ileri ve geri butonları kullanılacak olur ise muhakkak bir uyarı olacaktır ve uyarı sonucuna göre işlem yapılacaktır.
Gönderilecek olan isteklerde resim, video, ses, doküman vs. çok parçalı dosya içeriği mevcut olabilir.
Gönderilecek olan isteklerde post yöntemi get yönteminden çok daha güvenlidir.
Gönderilecek olan isteklerde tüm veriler görünmeyen kapalı şekilde olduğu için hassas veriler içeriyorsa muhakkak bu metot kullanılmalıdır.

HTML ile XHTML Arasındaki Farklar

XHTML (Extensible Hypertext Markup Language) web tasarım standartlarına verilen adlardan biridir. HTML’in başında bulunan X harfi işaretleme dili olarak tanımlanan, XML’in (Extensible Markup Language) özelliklerinin HTML içerisinde kullanılabileceği anlamına gelmektedir.

Kısacası XHTML, XML uygulaması olarak tanımlanan HTML versiyonudur. XHTML HTML ye göre daha katı işaretleme kurallarına sahiptir. XHTML de aynı HTML gibi tüm web tarayıcıları tarafından desteklenmektedir.
HTML ile XHTML arasındaki fark, doctype’ın belgeye tanımlanmasından kaynaklanır. HTML’de doctype tanımlaması kısadır ve hiçbir kısıtlaması yoktur. XHTML’de birden fazla doctype tanımlaması ile farklı içerikler için kısıtlama yapılabilmesi sağlanabilir. Doctype tanımlaması XHTML’in bir parçası değildir ve asıl tanımlanma amacı belge içerisinde kullanılan elementlerin standartları için ek bir bağlantı sağlamasıdır. Özellikle XML kullanılan sayfalarda çok sık kullanılır. XHTML 3 tip belge bildirimi sunar. Bunlar strict, transitional ve frameset’dir.

Strict (katı)

Diğer 2 bildirime göre daha katı ve net bir denetleme sağlamaktadır. Genellikle CSS (Cascading Style Sheets) ile yapılan tasarımlarda strict (katı) tercih edilmektedir. Dolayısı ile browser’lar bu tercihe göre sayfadaki kodlamayı yorumlar. Kullanım şekli aşağıdaki gibidir.

<!doctype html PUBLIC "-//W3C//DTD Xhtml 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 


Transitional (geçiş)

En çok kullanılmakta olan sayfa geçerliliği denetleyicisidir. Çünkü, strict’e (katıya) göre çok daha esnektir ve sayfadaki bazı yazım hatalarını göz ardı edebilir. Kullanım şekli aşağıdaki gibidir.

<!doctype html PUBLIC "-//W3C//DTD Xhtml 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 


Frameset (çerçeve seti)

Genelde frame (çerçeve) kullanılan sitelerde sayfanın geçerliliğini denetlemede tercih edilmektedir. Kullanım şekli aşağıdaki gibidir.

<!doctype html PUBLIC "-//W3C//DTD Xhtml 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 


HTML 5 ve daha sonrası sürümlerde yukarıdaki uzun bildirimlerin hiçbirini kullanmaya gerek yoktur. Kısaca aşağıdaki şekilde yazılabilir.

<!doctype html> 

XHTML ve HTML5 Arasındaki Temel Farklar

  • XHTML’de !DOCTYPE bu şekilde yazımı zorunludur. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"   "http://www.w3.org/TR/html4/strict.dtd">
  • HTML5’te <!DOCTYPE HTML> bu şekilde yazım yeterli olmaktadır.
  • XHTML’de XMLNS ifadesi zorunludur. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  • XHTML de öğeler her zaman kapalı olmaldır. HTML de bu esnektir.
  • XHTML de öğeler her zaman düzgün bir şekilde yerleştirilmiş olmalıdır.
  • XHTML de etiketler ve attributes (öznitelikler) her zaman küçük harf olmak zorundadır.
  • XHTML de öznitelik öğeleri her zaman tırnak içerisinde yazılmalıdır.
  • HTML5 te <script></script> ifadesi içerisinde type=”text/javascript” yazımına gerek yoktur. <script> ifadesi bu özelliği otomatik olarak temsil etmektedir.
  • HTML5 te css linklenmesi <link rel =”stylesheet” href=”style.css”> şeklinde sade bir biçimde yapılmaktadır.
  • Yeni HTML etiketleri olan <header>, <footer>, <section>, <article>, <aside>, <nav>, <figure> gibi bir çok yeni etiket HTML’in en son versiyonu olan HTML5 e eklenerek geliştirilmiştir.
  • XHTML yukarıdaki zorunlulukları ve kısıtlamaları ile HTML5’ten farklılıklar göstermektedir.