Get yöntemi veri aktarımı nedir. Eylem Özelliği ve Yöntemi
Hemen hemen tüm programlarda ortak olan iki kavram vardır - girdi verilerinin işlenmesi ve sonuçların çıktılanması. Bu sayfada, CGI programlarının girişini ele almaya odaklanacağız. Birincisi, girdi nereden geliyor ve ikincisi, girdi sunucuya nasıl iletiliyor. Etkili CGI programları yazmak için bu şeyleri net bir şekilde anlamanız gerekir.
HTTP hakkında biraz
Sunucu üç tür isteği kabul eder: GET, POST ve HEAD. Web sunucusuna program isteği şöyle görünür:
GET /index.html HTTP / 1.0
İlk kısım, bu durumda GET, istek yöntemidir, ikincisi, index.html, istenen URL'dir ve üçüncü kısım, HTTP / 1.0, istemci tarafından kullanılan protokoldür.
İki ana istek yöntemi GET ve POST'tur. Bunlar, form oluştururken kullanabileceğiniz yöntemlerle aynıdır. HEAD yöntemi tarayıcı tarafından nadiren kullanılır çünkü yalnızca yanıt üstbilgisini ister ve bu durumda yanıt gövdesi gönderilmez. Örneğin, sayfanın değişip değişmediğini kontrol etmek için tarayıcı bir başlık isteyebilir, ancak bu tam bir veri alışverişi oluşturmaz.
GET yöntemi
Varsayılan olarak, istek GET yöntemini kullanır. POST yöntemi yalnızca form isteğinde açıkça belirtildiğinde kullanılır. Bir CGI programcısı için, bir GET isteği yapıldığında, form verilerinin URL ile birlikte sunucuya gönderildiğini anlaması çok önemlidir. CGI'yi destekleyen web sunucuları bu verileri şuraya kopyalar: Çevre değişkeni QUERY_STRING adlı. Bundan sonra, CGI programı, ortam değişkeninden verileri almaktan ve işlemekten sorumludur.
Sorgu dizesini içeren URL şuna benzer:
Http://www.domen-name.com/login.pl?nick=maks&psw=parol
İmza? sorgu dizesini kaynağın gerçek URL'sinden ayırır; nick ve psw sunucuya iletilen değişkenlerdir, sırasıyla maks ve parol değerleridir.
POST yöntemi
POST yöntemi, formun YÖNTEM özniteliğinde açıkça belirtildiğinde kullanılır. GET yönteminden farklı olarak POST, verileri URL'ye değil, isteğin gövdesine yerleştirir. POST isteği, HTTP yanıtına çok benzer. İlk satır, POST yöntemini belirten standart bir HTTP isteğidir. İstek gövdesinden boş bir satırla ayrılmış gerekli ek başlıkları içerebilir.
POST yöntemini kullanırken, istek gövdesi programa standart girdi olarak iletilir.
GET ve POST arasında seçim yapmak
Açıktır ki, bir CGI programcısı, form geliştirirken bu yöntemlerden hangisini kullanacağı sorusuyla karşı karşıya kalacaktır. Çoğu durumda, her iki yöntem de işe yarar ve her ikisi de iyi sonuç verir. Bununla birlikte, bir yöntemin veya diğerinin kullanılmasının belirli avantajlar sağladığı durumlar vardır.
GET veya POST yöntemini tercih etmenin mantıklı olduğu birkaç duruma bakalım.
- Programınızın referans olarak çağrılmasını istiyorsanız GET yöntemi tercih edilmelidir.
- Programınıza iletilen argümanların sunucu günlük dosyasına yazılmasını istemiyorsanız, POST yöntemini kullanın. Örneğin, bir form bir kullanıcı adı ve parola gerektiriyorsa, muhtemelen adların ve parolaların rapor dosyasına kaydedilmesini istemezsiniz. Ayrıca, şifreyi URL'nin bir parçası olarak iletmek akıllıca değildir.
- Formunuz önemli boyutlara sahipse, örneğin notlar ve yorumlar içeren metin kutuları varsa, POST yöntemini kullanmalısınız. Genel olarak konuşursak, bu durumda da GET yöntemini kullanabilirsiniz, ancak daha sonra farklı URL boyutu kısıtlamaları ile karşılaşabilirsiniz. işletim sistemleri ve tarayıcılar (ortam değişkenlerinin boyutuyla sınırlıdır). POST yöntemini kullanmak daha kolaydır.
- Formunuz bir dosya alanı içeriyorsa, POST yöntemini kullanın. Ayrıca bu durumda ENCTYPE özniteliğinin değerini multipart/form-data olarak ayarlamanız gerekir.
GET yöntemleri ve POST'tan HTTP'ye ve HTTPS, HTTP (Köprü Metni Aktarım Protokolü) protokolünü kullanarak bir istemciden bir sunucuya veri aktarmak için kullanılan en popüler yöntemlerden ikisidir. 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 röportajında popüler bir sorudur. HTML, Java, ASP veya PHP gibi web sunucusu teknolojisinden bağımsız olduğundan 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, belirli bir isteğin ne zaman kullanılacağına ve aralarındaki farkın ne olduğuna bakacağız. Her kavramı ayrı ayrı analiz edelim.
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. İşaretleme dili, sayfanın düzenini ve sayfadaki öğeleri tanımlamak için etiketlerin kullanılma şeklini ifade eder.
Aşağıda HTML örneği bir başlık ve bir paragraf metin içeren temel bir web sayfasını tanımlamak için kullanılır:
<Голова>
<Название>TechTerms.com название>
HEAD>
<Тело>
Bu, HTML'de bir paragraf örneğidir. p>
Body>
Html>
İlk satır, belgede bulunan içeriğin türünü tanımlar.,
ve hepsi yukarıdaki örneğe dahil edilmiştir. Sayfa başlığı, meta veriler ve bağlantı dosyası bağlantıları arasına yerleştirilir Gerçek sayfa içeriği etiketler arasındadır .
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 gelirken 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 tüm öğeleri 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 web tarayıcısına gönderilen HTML'yi oluşturur.
Köprü Metni Aktarım Protokolü (HTTP), istemciler ve sunucular arasındaki iletişim için tasarlanmıştır ve bir istek-yanıt protokolü gibi ç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 döndürür ve ayrıca istenen içeriği de içerebilir.
GET ve POST olmak üzere iki istek yöntemi
İstemci ve sunucu arasında istek-yanıt için yaygın olarak kullanılan iki yöntem:
GET - belirtilen kaynaktan veri ister;
POST - İşlenecek verileri belirtilen kaynağa gönderir.
GET ve POST'u çevirmek, kelimenin tam anlamıyla alma ve işleme sonrası anlamına gelir.
HTTP hakkında daha fazla bilgi
HTTP, İnternet üzerinden veri aktarmak için kullanılan protokoldür. İnternet Protokolü paketinin bir parçasıdır ve bir web sayfasına veri 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 şu özelliklere sahip bir web barındırıcısıdır: yazılım Apache veya IIS gibi bir 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ı sağlanırsa, sunucu web sayfasını ve ilgili dosyaları tarayıcıya gönderir.
Ortak HTTP durum kodları şunları içerir:
200 - başarılı istek (web sayfası var);
301 - sürekli hareket eder (genellikle yeni bir url'ye yönlendirir);
401 - yetkisiz istek (yetkilendirme gerekli);
500 — İç hata sunucu (genellikle yanlış yapılandırma sunucu).
HTTP'de POST ve GET
HTTP, web sitelerinde form gönderimlerini işlemek için kullanılan GET ve POST komutlarını tanımlar. 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 bağlantı yoluyla erişilebilir HTTPS bağlantısı ve genellikle 443 numaralı bağlantı noktasını kullanın.
İLETİ
POST bir seridir sistem kontrolleri açıldıklarında bilgisayarlar ve diğer elektronik cihazlar tarafından yürütülür. Test sonuçları ekranda görüntülenebilir, yanıp sönen LED'ler aracılığıyla görüntülenebilir veya yalnızca dahili olarak kaydedilebilir. V 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 eder.
Mac ve Windows işletim sistemleri, bilgisayar her başlatıldığında veya yeniden başlatıldığında POST çalıştırır. Tarama kontrolleri 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ör, BIOS bilgi ekranında genellikle POST hatalarının görüntülendiğini belirten bir mesaj görüntüleyebilir. "08" gibi kripto kodları olarak veya "Osette sistem belleği hatası" gibi bir sistem mesajı olarak çıkarılabilirler. Mac'te, POST hataları genellikle hiçbir önyükleme aygıtı bulunamadığını gösteren bozuk klasör simgesi gibi basit grafiklerle gösterilir.
Fiziksel belirtiler
Bazı durumlarda, bilgisayar ekranı POST hatalarından önce açılmayabilir. Bu olursa, 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 ardından 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ı algılandığında bip sesi çıkarır.
POST, yalnızca kullanıcılar tarafından kullanılan oldukça teknik bir terimdir. bilgisayar teknisyenleri düzenli bir şekilde. Ancak bu, bilgisayarlarda veya diğer cihazlarda görüntülenebilecek hata mesajlarının daha iyi anlaşılmasına yardımcı olduğu için iyi bir kısaltmadır. elektronik aletler... Bilgisayarınız bir POST hatası nedeniyle başlamazsa, üreticinin web sitesinden hatanın anlamını ve nedenini bulmak için farklı bir cihaz kullanabilirsiniz. Ardından uygun eylemi gerçekleştirebilirsiniz - bellek modülünü çıkarın veya video kartını yeniden takın ve ardından ekipmanı yeniden başlatın.
ELDE ETMEK
POST aynı zamanda değişkenleri geçirme yöntemidir. HTML formları adres çubuğunda görüntülemeden bir web sayfasından diğerine. Alternatif bir yöntem, URL'ye değerler ekleyen GET'dir. HTTP POST istekleri, mesajın gövdesinde istemciden (tarayıcı) sunucuya ek veriler sağlar. Buna karşılık, GET istekleri, URL'deki tüm gerekli verileri içerir. HTML'deki formlar, öğede method = POST veya method = GET (varsayılan) belirterek herhangi bir yöntemi kullanabilir.
Kullanıcı, metin alanına herhangi bir metin girer ve "Gönder" düğmesini tıklarsa, kullanıcı tarafından girilen içeriğin değerini içeren metin değişkeni sunucuya gönderilir.
Basit terimlerle POST ve GET istekleri
Bu değişken POST yöntemiyle gönderilecek.
Formda şöyle yazarsanız: