HTTP istekleri üretimi. GET ve POST YÖNTEMLERİ KULLANIN

  • 28.07.2019

Bugün ilkel şeylere vurmak istedim ve dünya çapında bir ağda bulabileceğinizi çok sayıda ve özel bir iş olmadan tanımlamak istedim. Neredeyse Kutsal Kutsal Protokol HTTP: Gönderi ve Sorguları Alın.

Birçoğu nedenini soracak mı? Kısa ve açık cevap vereceğim: Bu nedir ve neden gereklidir - herkes bilmiyor ve bunu öğrenmek isteyenler (BT alanında küçük bir anlayış), birçok ve birçok makalede ne yazdıklarını anlamayabilirler. Bu konuyla bu konuya adanmış birçok ve birçok makalede. Parmaklarımı açıklamaya çalışacağım, yazı nedir ve istekleri ve ne yediklerini.
Öyleyse, bir masal için yolculuğa başlayalım ...
Bu mesajı okuyorsanız, en azından internetin neye benzediğini ve internet sitesinin ne olduğunu biliyorsunuzdur. World Wide Web'in çalışmalarının tüm incestlerini azaltmak, kullanıcı ve site gibi olarak çalıştırılacağız. Ne kadar havalı olursa olsun, ancak bu iki konu bir şekilde birbirleriyle etkileşime girmelidir. İşte insanlar, örneğin, jestler, duygular ve konuşmalar sayesinde birbirleriyle iletişim kurun, hayvanlar bazı sesler yaparlar ve bir kişinin ve internet kaynağının "iletişim" olduğunda ne olur? Burada, insan konuşma-cevap planına aktarılabilecek bir bilgi alışverişi durumumuz var. Ayrıca, sorular ve cevaplar hem kullanıcı hem de siteye sorulabilir. Site hakkında konuştuğumuzda, soruları ve cevapları genellikle her zaman Internet sayfası formunda bir veya başka bir metinle ifade edilir. Kullanıcı hakkında sürdüğünde, her şey oluyor, GET ve POST istekleri sayesinde (elbette sadece değil, onlar hakkında konuşuyoruz).

Böylece konusumuzun nesnelerinin sitelerle "iletişim" için gerekli olduğunu öğrendik. Ayrıca, hem al hem de sonrası istekleri "Görev Soruları" ve "Cevaplar" için kullanılabilir. Ne kadar farklı? Her şey yeterince basit. Ancak, farklılıkları açıklamak için, çevrimiçi mağaza planının sitesini alacak bir örneği göz önünde bulundurmanız gerekir.
Muhtemelen, genellikle filtrelerle arama yapmak için başvuran çevrimiçi mağazalarda bir şey aradığınızda, sitenin adresi güzel "http://magaazin.ru" den korkunç "http: // magaazin'den döndü. RU /? Kategori \u003d Ayakkabı ve Boyut \u003d 38. Öyleyse, her şey, '?' Sembolinden sonra giden her şey ve GET istek siteniz var ve eğer çok doğruysanız, bu durumda siteye, "ayakkabılar" kategorisinde olanı isteyip istemediğiniz gibi. "38" boyutunun boyutu (bu örnek kafadan alınır, aslında her şey çok açık görünmeyebilir). Sonuç olarak, Site Adres çubuğunda, onları belirterek sorular sorabiliriz. Açıkçası, bu yöntemin birkaç dezavantajı var. İlk olarak, bilgisayardaki kullanıcının yanında olan herkes, tüm verileri sakince vurgulayabilir, bu nedenle bu tür istekleri şifre iletimi için kullanmanın oldukça arzusu değildir. İkincisi, site adresinin adresinden iletilebilen dizenin uzunluğu üzerinde bir kısıtlama vardır ve bu nedenle birçok veri iletilemez. Bununla birlikte, GET isteklerini kullanmanın şüphesiz avantajı, kullanmanın sadeliğidir ve siteye hızlı bir şekilde sorma yeteneğidir, bu da özellikle gelişirken faydalıdır, ancak bu başka bir hikaye ...
Şimdi posta istekleri hakkında konuşalım. Kartatçılı okuyucular, bu talebin arkadaşından ana farkının, iletilen verilerin gizliliği olduğunu yeniden yönlendirmiş olabilir. Çevrimiçi mağazayı göz önünde bulundurunsa, siteye kayıt yapmak için parlak bir örnek kullanılır. Site verilerinize sorar, bu verileri doldurursunuz ve "Kayıt" düğmesine tıkladığınızda, cevabınızı gönderin. Ve herhangi bir şekilde, bu veri görüntülenmez. Ayrıca, yeterince büyük miktarda bilgilerin talep edilebileceğini de belirtmekte fayda var - ve demek istediğim, isteğin herhangi bir kısıtlaması yok. Peki, eksi dokunulduysa, böyle bir istek hızlı bir şekilde üretilmeyecektir. Özel beceriler olmadan artık hiçbir yerde yoktur. Aslında olsa da, her şey çok zor değil, ama bu yine diğer hikaye.
Özetleyelim. Kullanıcı ve sitenin "iletişim" için gönderin ve istekleri gereklidir. Esasen birbirlerinin neredeyse tam tersidirler. Bazı talep türlerinin kullanımı, belirli duruma bağlıdır ve yalnızca bir tür isteği kullanır, son derece uygunsuzdur.

Şimdi en yaygın kullanılan iki HTTP yöntemi: GET ve POST. Ancak, bu iki "çam" web geliştiricisi arasında bile kaybetmeyi başardığı ortaya çıktı. Bu bir açıklamadır: her iki yöntem de aynı sonucu elde etmek için kullanılabilir. Ancak, yöntemlerden herhangi birinin hızlı kullanımının, kanal ve güvenlik delikleri üzerindeki büyük yüklerin olduğu, mevduatlara yol açabileceği unutulmamalıdır.

Bunu yeterince önlemek için, bu yöntemlerin randevularını ve farklılıklarını anlamak daha ayrıntılıdır.

Yöntemlerin adlarının değerine girerseniz, zaten çok daha net olacaktır. (İngilizce'den almak için), yani Veri isteğine uygulanmalıdır. POST (C İngilizce. Posta ile gönder) - Sunucuya veri göndermek için geçerlidir. Her şey son derece basit ve anlaşılabilir görünüyor. Ancak, kimler bir geri bildirim biçimiyle iş kartı sitesi tarafından daha da karmaşık bir şekilde geliştirmek isteyenler, soruyu daha yakın tanımak daha iyidir.

Güvenli ve güvensiz HTTP istekleri

HTTP 1.1 şartnamesi iki konsepte girer: güvenli ve güvenli olmayan bir istek veya daha doğru ise, yöntem.

Güvenli - Bunlar yalnızca bilgi talep edebilecek yöntemlerdir. İstenen kaynağı değiştiremezler, kullanıcı, diğer bireyler veya sunucu için istenmeyen sonuçlara yol açamazlar. Örnekler güvenlidir. Web sayfasının veya görüntünün bir HTML isteği vardır. Güvenli, kafa ve yöntemleri bulun.

Not

Gerçekte, el sanatları zanaatkarları zarar verebilir ve sorgular alabilir. Örneğin, istekleri odaklamak.

Güvensiz istekleri, önceden tahmin edildiği gibi, onları yeniden kullanırlarsa, potansiyel olarak kötü sonuçlara yol açabilir. Bu tür talepler, temyiz ettikleri kaynağın içeriğini değiştirebilir. Bu tür taleplerin örnekleri: mesaj gönderme, kayıt, çevrimiçi ödeme. Güvensizliğin gönderilmesi, koyun, yöntemleri silin.

İDEMPotent (IDEMPotent) yöntemleri

İDMPotans - Çok sayıda returoring ile, bilginin modası geçmiş olması dışında, aynı sonucu geri getirecek yöntemlerin bir özelliği. Bu, aynı URL'ye erişerken, tüm kullanıcıların birini ve en sıkı web sayfasını, görüntü, video vb. Göreceği anlamına gelir. Bu özellik kazandı, koydu, yöntemleri silin.

Ve şimdi alma ve gönderme yöntemleri hakkında daha fazla bilgi: Her kısa "özeti" yapın.

Almak.

  • sunucudan veri almak için tasarlanmıştır;
  • talebin gövdesi boş;
  • sunucu tarafında işlenmiş, talebin boş kuruluşlarından dolayı sunucu kaynaklarının daha hızlı ve daha küçük tüketimi;
  • değişkenlerin iletimi, adres çubuğunda meydana gelir (bu, kullanıcıyı da görür, teknik veriler sorgu hattında şımartır) ve bu nedenle değişkenler ve değerleri hakkında bilgi (veriler korunmaz);
  • sunucuya az miktarda veriyi aktarabilir: tarayıcıya bağlı olan URL uzunluğunda sınırlamalar vardır, örneğin, IE6 \u003d 2KB. Bu, geliştiricilerin gezinmeleri Yahoo !;
  • sadece ASCII karakterlerini iletebilir;
  • böyle bir istek kopyalanabilir, kaydeder (örneğin, yer imlerinde);
  • İstek önbelleğe alınabilir (bu kontrol edilebilir);
  • kanal ve sunucudaki yükü daha da azaltmak için ve kısmi talepler mevcuttur;
  • hTTP bağlantısını kırmaz (Sunucuda KeepAlive etkinleştirildiğinde).

İLETİ.

  • sunucuya veri göndermek için tasarlanmıştır;
  • veri aktarımı sorgu gövdesinde gerçekleşir;
  • sunucunun yan tarafındaki işleme daha yavaş ve "daha zor", çünkü başlıklara ek olarak, sorgu gövdesini analiz etmeniz gerekir;
  • Çok miktarda veri iletebilme;
  • dosyaları aktarabilir;
  • gönderilen post sayfası yer imlerine kaydedilemez;
  • hTTP bağlantısını kırar;
  • Çok az miktarda bilgiyi bile aktarmak için, çoğu tarayıcı minimum iki TCP paketini gönderir: başlık ve ardından talebin gövdesi.

Bu iki yöntemin bu kadar benzer olmadığı ortaya çıkıyor. Bir veya başkasının kullanımı görevden dolayı olmalıdır, ancak almanın varsayılan olarak kullanılması gerçeği değil, bununla birlikte çalışmak daha kolaydır. Elbette, çoğu durumda, özellikle hızlı Ajax oluştururken, ancak eksikliklerini unutmayın. Kendim için, yöntem seçiminde basit bir algoritma notu yaptım.

Bu gönderi, iki ana yöntemin yardımıyla İnternetteki veri transferinin ilkelerini açıklamayı amaçlamaktadır: GET ve POST. Detaylar için neredeyse ilginç olanlar için değiştirilebilir bir çalışma programının jeneratörü için talimatlara ek olarak yazdım.

Aşağıdaki adrese gidin (bu görsel bir açıklama içindir): http://calendarin.net/calendar.php?year\u003d2016 Lütfen tarayıcının adres çubuğunu not edin: calendarin.net/calendar.php ? Yıl \u003d 2016 Ana dosyaya, ardından "2016" değeri olan bir soru işareti (?) Ve "Yıl" parametresini takip eder. Öyleyse, bir soru işaretini izleyen her şey, bu bir istek. Her şey basit. Bir parametreyi değil, birkaç dakika, daha sonra, AMPERSAND (& )'yı bölmek gerekir. Örnek: calendarin.net/calendar.php. ? Yıl \u003d 2016 ve DISPLAY \u003d Çalışma günleri-ve-gün-kapalı

Ana dosya da denir, ardından "2016" değeri olan "Yıl" parametresi, ardından "Yıl" parametresi, ardından "çalışma günleri-ve" -Days "parametresi -off.

GET-parametreler doğrudan tarayıcı adres çubuğunda değişebilir. Örneğin, "2016" değerini "2017" e değiştirir ve tuşa basarak, 2017 için takvime gideceksiniz.

Bu veri iletimi gizli bir şekilde (sayfa adresi değişmez); Yani, neyin bulaştığını görmek için, yalnızca programı kullanabilirsiniz (komut dosyası). Örneğin, aşağıdaki araçta metinde karakterleri hesaplamak için, ilk veriler posta yöntemi ile iletilir: http://usefulonlinetools.com/free/Character-counter.php

Sorularınız, yorumlarınız ve e-postamız varsa hizmetinizdadır.

Önceki notada incelediğimiz GET yöntemine ek olarak, HTTP protokolünde bir sorgu gönderme yöntemi var. Posta yöntemi de pratikte çok sık kullanılır.

Eğer, GET yöntemine atıfta bulunmak için, talebi URL'ye yazmamız yeterli, daha sonra her şey başka bir prensipte posta yönteminde çalışır.

Bu tür bir istek yürütmek için, Web sayfasında bulunan Type \u003d "Gönder Özniteliği" ile düğmeye tıklamamız gerekir. Lütfen bu düğmenin öğede bulunduğunu unutmayın.

Metod niteliğinde posta değeri ile.

Bu HTML kodunu düşünün:

Metni girin:


Kullanıcı metin alanına bir metne girerse ve "Gönder" düğmesini tıklatırsa, metin değişkeni, kullanıcının girdiği içeriğin içeriğiyle sunucuya gönderilecektir.

Basit kelimelerle gönderin ve istekleri alın

Bu değişken posta yöntemi tarafından gönderilecektir.

Formda yazarsanız:

Bu veriler get yöntemiyle gönderilecektir.

Eğer bir talep isteği durumunda, iletebileceğimiz veri miktarı tarayıcı uzunluğu uzunluğu ile sınırlıdır, daha sonra posta isteğinin durumunda, böyle bir kısıtlama yoktur ve önemli miktarda bilgi iletebiliriz.

POST yönteminin bir diğer farkı, posta yönteminin, kendilerine iletilen tüm değişkenleri ve vücudundaki değerlerini (varlık gövdesi) gizler. GET yöntemi durumunda, sorgu dizesinde (Request-URI) saklandılar.

İşte posta yöntemi tarafından yapılan bir talebe örneği:

/ Http / 1.0 \\ r \\ n
Ana Bilgisayar: www.site.ru \\ r \\ n
Referans: http://www.site.ru/index.html\\r\\n.
Çerez: Gelir \u003d 1 \\ r \\ n
İçerik türü: Uygulama / x-www-form-urlencoded \\ r \\ n
İçerik boyu: 35 \\ r \\ n
\\ r \\ n
Giriş \u003d Dima & Password \u003d 12345

Böylece, verileri posta yöntemiyle geçerken, saldırganı engellemek için çok daha zor olacaktır, çünkü Doğrudan görüntülemeden gizlenirler, bu nedenle verileri sonrası yöntemle iletme yöntemi daha güvenli olduğu düşünülmektedir.

Ek olarak, posta yöntemi sadece metin değil, aynı zamanda multimedya verileri (resim, ses, video) da iletilebilir. İletilecek bilgilerin türünü tanımlayan özel bir içerik türü parametresi vardır.

Ve son olarak, bu yöntemle iletilen verileri elde etmek için, sonrası değişkeni kullanılır.

İşte PHP'de işleme örneği:

echo $ _post ['metin'];
?>

Son notta, tarayıcının (istemcinin) istekleri HTTP sunucusuna gönderdiğini ve sunucunun HTTP istemcisine bir HTTP yanıtı gönderdiğine karar verdik. Bu talepler ve cevaplar belirli kurallara göre verilir. Sekizin yazılacağı gibi sözdizimi gibi bir şey var. Kesinlikle tanımlanmış bir yapı olmalıdır.

HTTP protokolünde istek ve cevaplar oluşturan bu yapıyı daha ayrıntılı olarak düşünelim.

HTTP talebi, aşağıda listelenen sırayla giren üç ana bölümden oluşur. Mesajın başlıkları ve gövdesi arasında boş bir çizgi var (ayırıcı olarak), bir dize çeviri sembolüdür.

Boş Dize (Ayırıcı)

Gönder ve istek alın, aralarındaki fark nedir ve daha iyi ve hangi amaçlar için?

mesaj gövdesi (varlık kuruluşu) - İsteğe bağlı parametre

Satır isteği - Transfer yöntemini gösterir, HTTP protokolünün erişimin sağlanması gereken URL adresi.

Başlıklar - Mesaj gövdesini tanımlayın, farklı parametreler ve diğer bilgileri ve bilgileri iletin.

mesaj gövdesi - Bu, istek üzerine iletilen verilerdir. Mesaj gövdesi isteğe bağlı bir parametredir ve eksik olmayabilir.

Sunucudan bir cevap aldığımızda, mesaj gövdesi en sık bir web sayfasının içeriğidir. Ancak, sunucuya sorgular ne zaman, örneğin, geri bildirim formunda doldurulmuş verileri sunucuya iletirken, bazen de mevcut olabilir.

Daha ayrıntılı olarak, her sorgu öğesi, aşağıdaki notlara bakacağız.

Örneğin, sunucuya bir gerçek isteği düşünelim. Sorgunun her bir kısmını rengimle vurguladım: bir sorgu hattı - yeşil, başlıklar - turuncu, vücut mesajı mavidir.

Tarayıcıdan istek:

Ev sahibi: webgyry.info.

Çerez: WP ayarları

Bağlantı: Keep-canlı

Aşağıdaki örnekte zaten bir mesaj gövdesi var.

Sunucu Cevap:

İçerik türü: Metin / HTML; Charset \u003d UTF-8

Transfer kodlaması: parçalanmış

Bağlantı: Keep-canlı

Keep-canlı: zaman aşımı \u003d 5

X-pingback: //webgyry.info/xmlrpc.php

Belge Başlıksız

İşte istemcinin ve HTTP sunucusunun mesajları.

Bu arada, Sitenizdeki bazı ürünlerde, Yandex Metrics ve Google Analytics'in "Hedefleri" kullanarak mantıklı olup olmadığını bilmek ister misiniz?

Neyi işe yaramadığını, neyin işe yaradığını ve gelirinizi iki katına çıkarın.

Yandex Metrics'in hedeflerini belirleme dersi ..

Google Analytics Gol Kurulum Kursu ..

HTTP istemcisi, sunucuya aşağıdaki formata sahip olan bir istek isteği biçiminde bir istek gönderir:

  • Sorgu Satırı (Zorunlu Öğe)
  • Başlık (isteğe bağlı öğe)
  • Boş Dize (Zorunlu Eleman)
  • Mesaj gövdesi (isteğe bağlı öğe)

Bu elemanların her birini ayrı ayrı düşünün.

Satır isteği

Sorgu dizesi, URI sorgusu ve protokol sürümünün ardından bir yöntem belirteci ile başlar. Elementler birbirinden dağılmıştır:

Bu öğeyi daha ayrıntılı olarak düşünün

İstek yöntemi

Bu eleman, sunucu tarafında belirtilen URI inferticusuna çağrılması gereken bir yöntemi gösterir.

HTTP'de sekiz yöntem var:

  • Kafa.
    Durum dizesini ve başlığını URI sunucusundan almak için kullanılır. Verileri değiştirmez.
  • Almak.
    Sunucudan belirtilen URI'ye veri almak için kullanılır. Verileri değiştirmez.
  • İLETİ.
    HTML formlarını kullanarak sunucuya (örneğin, geliştirici, vb. Bilgiler) veri göndermek için kullanılır.
  • Koymak.
    Kaynak yeni indirilen verilerdeki tüm önceki tüm verileri değiştirir.
  • Silmek.
    Tüm güncel verileri URI tarafından tanımlanan bir kaynak üzerine kaldırır.
  • Bağlan.
    Tünel bağlantısını sunucuya belirtilen URI'ye göre ayarlar.
  • Seçenekler.
    Belirtilen kaynağın bağlantı özelliklerini açıklar.
  • İz.
    URI'de belirtilen kaynağın geri dönüş izini içeren bir mesaj sağlar.

URI Talebi

URI (Tekdüzen Kaynak Tanımlayıcısı), sorgunun gönderildiği bir kaynak tanımlayıcısıdır. Aşağıdaki en yaygın URI formatıdır:

‘*’ Bir HTTP isteği belirli bir kaynağa, ancak sunucuya uygulanmadığında kullanılır. Yalnızca yöntemin kaynağa başvurmak için gerekli olmadığı durumlarda kullanılır. Örneğin,

absoluteuri. Bir proxy üzerinde bir HTTP isteği gerçekleştirildiğinde kullanılır. Proxy, uygun bir önbellekten bir sorgu iletmesi istenir ve cevabı döndürür. Örneğin:

Asbutivated_put | bir kaynaken Chatso kullanılmıştır.

GET ve GÖNDERİN İSTİYORUM İLE ÇALIŞMAYIN

Belirli bir sunucunun belirli bir kaynağı istenmektedir. Örneğin, istemci, sunucudan 80. bağlantı noktası üzerinden bir kaynak almak istiyor. Kaynak adresi "www.proselyte.net" ve aşağıdaki talebi gönderir:

Başlık Alanları İste

Başlık alanları, müşterinin istek hakkında ve kendileri hakkında sunucuya ek bilgi aktarmasını sağlar. Bu alanlar sorgu değiştiricileri olarak işlev görür.

Aşağıda kullanılabilecek en önemli başlık alanlarının kesişimidir:

  • KABUL EDİLMESİ.
  • Kabul etme
  • Kabul-dil.
  • yetki
  • Beklemek
  • Eğer maç
  • Eğer değiştirilmiş
  • İf-hiçbir maç
  • Eğer aralık.
  • Eğer değiştirilmemiş
  • Aralık.
  • Referans.
  • Kullanıcı aracısı

Kendi müşterinizi ve kendi web sunucunuzu uygulamaya karar verirsek, o zaman kendi başlık alanlarınızı oluşturabiliriz.

HTTP isteğine bir örnek

Bu konuda HTTP isteklerini öğrenmeyi tamamlıyoruz.
Bir sonraki makalede, HTTP cevaplarına bakacağız.

HTTP ile sunucuya bir istek göndermenin bir yolu, GET yöntemini istemektir. Bu yöntem en yaygın olanıdır ve sunucunun kullanımı ile en sık gerçekleşir.

Bir get sorgusu oluşturmanın en kolay yolu, URL'yi tarayıcının adres çubuğuna yazmak için kullanılabilir.

Tarayıcı, sunucuyu yaklaşık olarak aşağıdaki bilgiler için gönderir:

Al / http / 1.1
Ev sahibi: webgyry.info.
Kullanıcı Aracısı: Mozilla / 5.0 (Windows NT 6.1; RV: 18.0) Gecko / 20100101 Firefox / 18.0
Kabul Et: Metin / HTML, Uygulama / XHTML + XML, Uygulama / XML; Q \u003d 0.9, * / *; Q \u003d 0.8
Kabul etme Dili: RU-TR, RU; Q \u003d 0.8, EN-US; Q \u003d 0.5, EN; Q \u003d 0.3
Kabul etme kodlaması: GZIP, Deflate
Çerez: WP ayarları
Bağlantı: Keep-canlı

İstek iki bölümden oluşur:

1. İstek satırı (istek çizgisi)

2. Başlıklar (Mesaj Başlıkları)

Lütfen GET sorgunun bir mesaj gövdesi olmadığını unutmayın. Ancak, bu onunla birlikte, herhangi bir bilgiyi sunucuya aktaramadığımız anlamına gelmez.

GET ve POST YÖNTEMLERİ arasındaki fark

Bu, özel alma parametreleri yardımı ile yapılabilir.

Talep etmek için parametreleri elde etmek için, URL adresinin sonunda bir işaret "?" Ve ardından aşağıdaki kuralda ayarlamaya başladıktan sonra:

parametre_name1 \u003d değer parametreleri1 ve parametre adı2 \u003d değer parametreleri2 & ...

Parametreler arasındaki ayırıcı "&" işaretidir.

Örneğin, iki değeri geçmek istiyorsak, kullanıcı adı ve yaşı, bir sonraki satır yapılabilir:

http://site.ru/page.php?name\u003ddima&age\u003d27

Bu sorgu yürütüldüğünde, veri, Web Programlama Sunucusunu kullanarak sunucuda elde edilebilecekleri Query_string ortam değişkenine düşer.

İşte PHP'de yapılabileceği gibi bir örnek.

"Adınız:" exo. $ _GET ["İsim"]. "
»;
"Yaşınız:" exho. $ _GET ["Age"]. "
»;
?>

$ _Get tasarım ["parametre adı"], iletilen parametrenin değerini görüntülemenizi sağlar.

Bu kodun yürütülmesinin bir sonucu olarak tarayıcıda görüntülenecektir:

İsminiz: Dima
Yaşınız: 27

ayrıca, GET sunucusuna bir istek de gerçekleştiriyoruz.

Aralarında ortak olarak, eşit olarak çalıştıkları gerçeği. Aralarındaki fark teknik olarak no. Ancak ideolojik farklılıklar var.

PHP bağlamında onlar hakkında söyleyeceğim. HTTP protokolünün PHP'ye yapılan HTTP protokolünün dolaylı bir tutum olduğunu, çünkü HTML sayfalarını değiştirmek için oluşturulduğu ve PHP'nin olasılıkları ve diğerini genişlettiğini unutmayın.

Verileri göndermek için bir posta almak için bir sorgu alın. (Size teknik olarak eşit olarak çalıştığını hatırlatırım).

Bu nedenle, PHP bağlamında, bu ideolojiye güvenmek aşağıdaki gibi yapıldı:
1. Her PHP piyasaya sürülürken, süperglobal dizileri ($ _GET, $ _POST) varsayılan olarak oluşturulur.
2. Sorgu dizesinde (?) Bir soru işareti varsa. Sonra her şey peşinden sayılır parametreler "Anahtar" formatında sunuldukları istekleri alın \u003d "değer" ve bir AMPERSAND işareti (&) ayırıcı olarak kullanılır
Misal:
Al /index.php?name\u003dandrey&surname\u003dhalkin
Bu, burada 2 parametre bir sorgu dizesidir. Bu parametreler $ _GET dizisine düşecektir.
3. $ _POST başka bir yolla doludur. Bu dizinin içeriği "istek başlıkları" ndan doldurulur. Yani, gözlerden gizlenen yerden açıkça. Bu tür başlıkları oluşturmak için tüm rutin bir tarayıcıyı alır. Bazen bir şey manuel olarak manuel olarak düzenlenmesine rağmen.

En sık, posta isteği formlarda kullanılır (veri göndermek için).

Örneğin, 2 alan giriş ve şifreyi oturum açmak için bir formumuz var.

GET yöntemini kullandığımızı hayal edin. Ardından, bir form gönderirken, aşağıdaki adrese döneriz. /Login.php?login\u003dandrey&password\u003d123, bu bilgileri iletmek için güvenli olmadığına karar veriyoruz. Herkes tarayıcınızı açabilir ve site adresini girmeye başlayabilir. Şifrelerinizi ve girişinizi görebilir.

Ancak posta yöntemiyle belirtildiysek, aşağıdaki talebi alırız:
Post / login.php (login \u003d Andrey & Password \u003d 123) Parantez içindeki neyin gizleneceği ve tarayıcıya kaydedilmemelidir.

Genel olarak, özetleme:
Alın, belirli bir formda belirli bir sayfada (sıralama, Blogdaki geçerli sayfayı, arama dizesi, vb.) Almaktır.
Post - Sayfa ekranını etkilemeyen mandrel verileri için, bu verilerin yalnızca komut dosyası yürütülmesi sonucunu etkiler (girişler, şifreler, kredi kartı numaraları, mesajlar vb.).

Ve örneğin bir daha iyi haber birleştirilebilir, örneğin
Post /index.php?page\u003dLogin (login \u003d Andrey & Password \u003d 123) Sanırım, ortaya çıktığını ve hangi dizinin hangi parametrelerin düşeceğini yeterince açıkladım.