Sunucuya alma isteği nedir? HTTP İstekleri Oluşturma
Evet, herkes bir noktada bir şeyler öğrenmiştir. Bu konuda insanları ayıran tek şey, kimilerine öğretilerin kolayca verilmesi, kimilerinin ise aylarca konunun özünü anlayamamasıdır. Bugün HTML\PHP'de POST ve GET istekleri hakkında konuşacağız.
POST ve GET isteklerinin kendileri (bundan sonra istekler olarak anılacaktır) uzun süredir tüm İnternet kaynaklarında kök salmıştır. Bir gün aniden bu teknolojilere bir alternatif ortaya çıkarsa, o zaman muhtemelen yakında olmayacak ve muhtemelen gerekli olmayacak. Çünkü isteklerimiz internet sayfaları arasında veri alışverişi görevini tam anlamıyla yerine getirmektedir.
Önce bir GET isteğine bakalım. Standart ile bir index.php dosyası oluşturalım HTML Kodu, ayrıca üzerine bir form yerleştirin, ürün sipariş formu olsun.
Buradaki etikete bir göz atalım. biçim. İki parametresi vardır aksiyon Ve yöntem. Birincisi, verilerimizi aktaracağımız sayfanın adresi, ikincisi ise bu verilerin hangi yöntemle aktarılacağı ile ilgilidir. Bu etiketin içinde, aktarmak istediğimiz veri setini açıklıyoruz. İsimler verilere atanmalıdır (parametre isim). Ayrıca gerekli giriş tipidir göndermek, tıklandığında veri gönderen düğmedir.
Dosyamızı kaydedelim ve bir tarayıcıda açalım.
Sayfamızın tarayıcıdaki yolu ".../index.php" şeklindedir. Sayfanın kendisinde iki giriş alanı ve bir düğme görüyoruz. Alanlarımıza bir şeyler doldurup "Sipariş Ver" butonuna tıklayalım. Sayfamız güncellenmiştir. Adresine bakalım: ".../index.php?orderName=Test&count=12". (İlk alana 'Test' kelimesini ikinci '12'ye yazdım). Gördüğümüz gibi, sayfa adresi biraz değişti. Gerçek şu ki, GET parametrelerinin bir istek tarafından iletilmesi, sayfa adres dizesine atanarak gerçekleştirilir. Parametreler ana adresten '?' karakteri ile, farklı parametreler ise '&' karakteri ile ayrılır. Parametre yapısı aşağıdaki gibidir: parametre_adı=değer. Parametrenin adı, giriş alanındaki name özniteliğinin değeriyle eşleşecektir.
Sayfa kodunu biraz düzenleyelim:
Şimdi tekrar "Sipariş" düğmesine tıklayın. Gördüğümüz gibi sayfa güncellendi ancak alanlarımız dolu kaldı. Bunun nedeni, alanlarımız için varsayılan bir değer vermiş olmamızdır. Üstelik bu değerler alınan GET parametresidir. PHP kodunda da görebileceğimiz gibi, GET parametreleri, parametre adına eşit bir dizi indeksine sahip bir dizidir. Şimdi site adresiyle oynayıp içindeki parametre değerlerini değiştirip "Enter" düğmesine basarsak, sayfayı güncelleyip formumuzu doldururken yine bir resim göreceğiz.
Açıkçası, bir GET isteğinde sır veya hizmet verileri göndermek yanlıştır (ve güvenli değildir). Örneğin veri tabanından alınması gereken haberin id'sini veya görüntülenmesi gereken sayfanın adını aktarmak için kullanmak daha iyidir.
POST isteği başka bir konudur. Benzer şekilde çalışır, ancak parametreleri adres çubuğunda saklamaz. Şeklimizi değiştirelim:
Ancak gördüğünüz gibi değişen pek bir şey yok! Sayfamızı açalım, alanlara bir şeyler doldurup "Sipariş Ver" butonuna basalım. Her şey aynı şekilde çalıştı, ancak (ancak), sorgu dizesinde gördüğümüz gibi, “…/index.php” adresi herhangi bir parametre olmadan gösteriş yapıyor. Böylece, verilerimizi meraklı gözlerden bir nevi "sakladık". Tabii ki, kavram gizliydi, oldukça şartlıydı, çünkü bu veriler hala ele geçirilebilir, ancak bu başka bir hikaye. Adresimize ".../index.php?orderName=Trololo&count=100" parametrelerini ekleyelim ve "Enter" tuşuna basalım. Gördüğümüz gibi sayfa yüklendi, ancak parametrelerin geçmesine rağmen alanların boş olduğu ortaya çıktı. Bu, büyük benzerliğe rağmen, bu tür isteklerin birbirleriyle hiçbir şekilde kesişmediğini ve ihtiyaç varsa, her istek türü için ayrı ayrı bir işleyici yazmanın uygun olduğunu düşündürür.
Bence bu yeterli. Sorunun temelleri bence bir kafa ile açıklanıyor.
Ve biraz daha… Geçilen parametreleri kontrol etmeyi unutmayın. Parametrenin bir sayı olması gerektiğinden eminseniz, sayısal olmayan bir değer iletmeye yönelik tüm girişimleri kesin, vb.
HTTP ve HTTPS'deki GET ve POST yöntemleri, bir istemciden sunucuya veri aktarmak için kullanılan en popüler iki yöntemdir. HTTP protokolü(Üstmetin transfer protokolü). Hem GET hem de POST, istek göndermek ve yanıt almak için kullanılabilir, ancak ikisi arasında önemli bir fark vardır.
HTTP veya HTTPS'deki GET ve POST istekleri arasındaki fark, her web programlama görüşmesinde popüler bir sorudur. HTML, Java, ASP veya PHP gibi web sunucusu teknolojisine bağlı olmadığından ve HTTP, İnternet alanındaki ana protokol olduğundan, GET ve POST yöntemlerini anlamanın önemi açıkça göz ardı edilemez. Bu yazıda, HTTP GET yönteminin ne olduğuna, HTTP POST yönteminin ne olduğuna, bir veya diğer isteğin ne zaman kullanılacağına ve aralarındaki farkın ne olduğuna bakacağız. Her kavramı ayrı ayrı inceleyelim.
HTML nedir?
HTML, web sayfaları oluşturmak için kullanılan dildir. Köprü metni, bir HTML sayfasının içerebileceği köprüleri ifade eder. Biçimlendirme dili, etiketlerin bir sayfanın düzenini ve sayfadaki öğeleri tanımlamak için kullanılma biçimini ifade eder.
Aşağıda HTML örneği, bir başlık ve bir metin paragrafı içeren temel bir web sayfasını tanımlamak için kullanılır:
<Голова>
<Название>TechTerms.com название>
HEAD>
<Тело>
Bu, HTML'deki bir paragraf örneğidir. p>
Body>
Html>
İlk satır, belgede bulunan içeriğin türünü belirtir.,
Ve , bunların tümü yukarıdaki örnekte yer almaktadır. Sayfa başlığı, meta veriler ve bağlantı içeren dosyalara bağlantılar, sayfanın asıl içeriğinin arasına, etiketlerin arasına yerleştirilir .Web, son birkaç on yılda birçok değişiklik geçirdi, ancak HTML her zaman web sayfalarını geliştirmek için kullanılan birincil dil olmuştur. İlginç bir şekilde, web siteleri daha gelişmiş ve etkileşimli hale gelse de, HTML daha basit hale geldi. Bir HTML5 sayfasının kaynağını HTML 4.01 veya XHTML 1.0'da yazılmış benzer bir sayfayla karşılaştırırsanız, HTML5 sayfasında daha az kod olacaktır. Bunun nedeni, modern HTML'nin bir sayfadaki hemen hemen her öğeyi biçimlendirmek için Basamaklı Stil Sayfalarına veya JavaScript'e dayanmasıdır.
Birçok dinamik web sitesi, PHP veya ASP gibi bir sunucu tarafı betik dili kullanarak anında web sayfaları oluşturur. Ancak, dinamik sayfalar bile HTML kullanılarak biçimlendirilmelidir. Bu nedenle, komut dosyası dilleri genellikle bir web tarayıcısına gönderilen HTML kodunu oluşturur.
HTTP Köprü Metni Aktarım Protokolü, istemciler ve sunucular arasındaki iletişim için tasarlanmıştır ve bir istek-yanıt protokolü olarak çalışır.
Web tarayıcısı istemci olabilir ve web sitesini barındıran bilgisayardaki uygulama sunucu olabilir.
İstemci (tarayıcı), sunucuya bir HTTP isteği gönderir, sunucu, isteğin durumu hakkında bilgi içeren bir yanıt verir ve ayrıca istenen içeriği de içerebilir.
İki istek yöntemi GET ve POST
İstemci ve sunucu arasında istek-yanıt için yaygın olarak kullanılan iki yöntem:
GET - belirtilen kaynaktan veri ister;
POST - işlenecek verileri belirtilen kaynağa gönderir.
GET ve POST'un çevirisi, kelimenin tam anlamıyla alma ve son işleme anlamına gelir.
HTTP hakkında daha fazla bilgi edinin
HTTP, İnternet üzerinden veri aktarmak için kullanılan protokoldür. İnternet Protokolü paketinin bir parçasıdır ve web sayfası verilerini aktarmak için kullanılan komutları ve hizmetleri tanımlar.
HTTP, sunucu-istemci modelini kullanır. İstemci bir ev bilgisayarı, dizüstü bilgisayar veya mobil cihaz. HTTP sunucusu genellikle bir web barındırıcısıdır. yazılım Apache veya IIS gibi web sunucusu. Bir kullanıcı bir web sitesine eriştiğinde, tarayıcı uygun web sunucusuna bir istek gönderir ve bir HTTP durum koduyla yanıt verir. URL geçerliyse ve bağlantı verilirse, sunucu web sayfasını ve ilişkili dosyaları tarayıcıya gönderir.
Yaygın HTTP durum kodları şunları içerir:
200 - başarılı istek (web sayfası var);
301 - Kalıcı olarak taşınır (genellikle yeni bir URL'ye yönlendirir)
401 - yetkisiz istek (yetki gerekli);
500 — İç hata sunucu (genellikle yanlış yapılandırma sunucu).
HTTP'de POST ve GET
HTTP tanımlar GET komutları ve web sitelerinde form gönderimlerini işlemek için kullanılan POST. CONNECT komutu, SSL kullanılarak şifrelenmiş güvenli bir bağlantıyı kolaylaştırmak için kullanılır. Şifreli HTTP bağlantıları, güvenli veri aktarımları için tasarlanmış bir HTTP uzantısı olan HTTPS üzerinden gerçekleşir.
"http://" ile başlayan URL'lere standart köprü metni aktarım protokolleri aracılığıyla erişilebilir ve varsayılan olarak 80 numaralı bağlantı noktasını kullanır. "https://" ile başlayan URL'lere güvenli bir ağ üzerinden erişilir. HTTPS bağlantısı ve genellikle 443 numaralı bağlantı noktasını kullanır.
POSTALAMAK
POST bir dizidir sistem kontrolleri bilgisayarlar ve diğer elektronik cihazlar tarafından açıldıklarında gerçekleştirilir. Test sonuçları ekranda görüntülenebilir, yanıp sönen LED'ler aracılığıyla çıktı alınabilir veya basitçe dahili olarak kaydedilebilir. İÇİNDE bilgisayar sistemleri POST işlemi, önyükleme sırasının başında gerçekleştirilir. Tüm testler başarılı olursa başlatma işleminin geri kalanı otomatik olarak devam edecektir.
Mac ve Windows aygıt işletim sistemleri, bilgisayar her önyüklendiğinde veya yeniden başlatıldığında POST'u çalıştırır. Kontrolleri tara Donanım ve işlemci, RAM ve depolama aygıtlarının düzgün çalışmasını sağlar. POST sırasında bir hata oluşursa, başlatma işlemi duraklayabilir veya tamamen durabilir ve monitörde bir mesaj görüntülenebilir.Bir PC'de, POST hataları genellikle BIOS bilgi ekranında görüntülenir. "08" gibi şifreli kodlar veya "Sistem belleği hatası ofset" gibi bir sistem mesajı olarak çıkarılabilirler. Mac'te, POST hataları genellikle hiçbir önyükleme aygıtının bulunmadığını gösteren bozuk bir klasör simgesi gibi basit grafiklerle gösterilir.
fiziksel belirtiler
Bazı durumlarda, POST hatalarından önce bilgisayar ekranı açılmayabilir. Böyle bir durumda, yanıp sönen LED'ler aracılığıyla hata kodları görüntülenebilir veya ses sinyalleri. Örneğin, elma iMac'i art arda üç ton çalacak, beş saniye duraklayacak ve başlatma sırasında bozuk RAM algılandığında tonları tekrarlayacaktır. Her üretici kendi kodlarını kullansa da, çoğu bilgisayar POST hatalarıyla karşılaştıklarında da bip sesi çıkarır.
POST, yalnızca tarafından kullanılan oldukça teknik bir terimdir. bilgisayar teknisyenleri düzenli bir şekilde. Ancak, bilgisayarlarda veya diğer cihazlarda görünebilecek hata mesajlarını daha iyi anlamaya yardımcı olduğu için iyi bir kısaltmadır. elektronik aletler. Bilgisayar bir POST hatası nedeniyle başlamazsa, üreticinin web sitesinden hatanın anlamını ve nedenini aramak için başka bir cihaz kullanabilirsiniz. Ardından, bellek modülünü çıkarmak veya grafik kartını yeniden takmak ve ardından donanımı yeniden başlatmak gibi uygun eylemi gerçekleştirebilirsiniz.
ELDE ETMEK
POST aynı zamanda bir değişken geçiş yöntemidir HTML formları bunları görüntülemeden bir web sayfasından diğerine adres çubuğu. Alternatif bir yöntem, URL'ye değer ekleyen GET'tir. HTTP POST istekleri, istemciden (tarayıcı) ileti gövdesindeki sunucuya ek veriler sağlar. Bunun aksine, GET istekleri URL'deki tüm gerekli verileri içerir. HTML'deki formlar, öğede method=POST veya method=GET (varsayılan) belirtilerek herhangi bir yöntemi kullanabilir.