Skip to content
Menu
Kenan Erarslan
  • Hasscript
    • BİNlerce cevap
    • Hello world!
    • Hasscript motivasyonumuz
    • 60 soruyu geçtik
    • 50 Üye / 90 soru / 100 cevap.
    • 200 soru
    • 365 gün geride kaldı.
    • 2019’un Hasscript’i
  • Experience
    • How to select Right Programming Language For Next Project
    • BigData Study
      • Hadoop Learning Journey / 1 / What is Hadoop
      • Hadoop Study Part 2 – Meaningless Fight
      • Hadoop Learning Journey / 3 / Reinventing The Wheel
  • Türkçe
    • Apache Ant
      • Apache Ant – 1) Kurulum
      • Apache Ant – 2) Dosyaları derlemek
      • Apache Ant – 3) Özellik işleri (property tasks)
      • Apache Ant – 4) Özellik dosyaları
      • Apache Ant – 5) Veri tipleri
      • Apache Ant – 6) Proje derlemek
      • Apache Ant – 7) Döküman derlemek
      • Apache Ant – 8) Jar oluşturmak
    • Duygu / Düşünce
      • Ben bu işin neresindeyim?
      • Enkazlar ülkesi
      • Hayal kurmak güzeldir.
      • Arch Linux ile tanışmak ve zorluklar
Kenan Erarslan

HTTP / İstekler

Posted on October 3, 2020January 27, 2021

Bir HTTP istemcisi sunucuya aşakğıdaki mesaj şeklini kullanarak bir istek yollar.

  • İstek satırı (A Request-line)
  • Sıfır veya daha fazla başlık (Genel | İstek | Varlık) bilgisi gönderir. Bitirmek için CRLF karakterleri kullanılır. (Zero or more header (General|Request|Entity) fields followed by CRLF)
  • Boş bir satır, bu satırı oluşturmak için CRLF karakterleri kullanılır (An empty line (i.e., a line with nothing preceding the CRLF) indicating the end of the header fields)
  • İsteğe bağlı olarak mesaj gövdesi (Optionally a message-bod)

Aşağıda her birinin açıklamasını bulabilirsiniz.

İstek-Satırı

İstek satırı isteğin iletileceği metodu belirleyen parça ile başlar ve URI ile devam eder, daha sonra protokol versiyonu ve CRLF karakterleri ile biter. Bütün parçalar SP (boşluk) karakteri ile birbirinden ayrılır.

İstek-satırı = Metod SP İstek-URI SP HTTP-Versiyon CRLF

Request Method

İstek metodu istek-URI ile belirtilen kaynak üzerinde uygulanacak olan işlemdir. Metod büyük/küçük harf duyarlı ve her zaman büyük harflarle belirtilmelidir. Aşağıda desteklenen bütün metodları bulabilirsiniz.

GETGET metodu sadece URI ile verilen kaynak üzerinden veri taşınması/getirilmesi için kullanılır. Kaynek üzerinde başka bir etkisi yoktur.
HEADGET metodu ile aynı işe yarar ama sadece başlıkları ve durum satırını getirir
POSTPOST metodu sunucuya bilgi göndermek amacıyla kullanılır. Örnek olarak bir form içindeki müşteri bilgileri ya da upload edilen bir dosya içeriği verilebilir.
PUTSunucu tarafında bulunan ve URI ile belirtilen bütün veriyi yeni gönderilen veri ile değiştirmesi amacıyla kullanılır. Yani veriyi tamamen güncellemek için kullanılabilir.
DELETEURI ile verilen kaynağı silmek için kullanılır.
CONNECTİstemciden URI ile belirtilen kaynağa bir bağlantı tüneli hazırlamak için kullanılır.
OPTIONSHedef kaynağa ulaşım için gereken bağlantı bilgilerini belirlemek için kullanılır.
TRACEVerilen hedef kaynak ile loop back test uygulamak için kullanılır.

İstek-URI

Genel açılımı Uniform Resource Identifier olup, gönderilecek istek üzerinde hangi kaynağa istek gönderildiğini belirlemek için kullanılan bir metindir. Kullanımı aşağıdaki gibidir.

istek-URI = “*” | tam URI | kaynak_yolu | yetki

*Bu karakter gönderilen istek belirli bir kaynağa değil, sunucunun kendisine uygulanacağını belirtmek için kullanılır. Sadece 
tam URIBu method, gönderilen istek bir vekil (proxy)’e uygulanırken kullanılır. Bu vekil de gönderilen istek veya servisi hazırda tanımlanmış olan uygun bir adrese yönlendirir ve o adresden gelen cevabı yansıtır. Örneğin GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1
En bilinen ve kullanılan Istek-URI biçimi sunucu üzerinde bulunan bir kaynağı (dosya/resim/..) belirlemek için kullanılır. Örneğin, bir sunucudan kaynak çekmek isteyen bir istemci uygulaması 80 portu üzerinden TCP bağlantısı açmalı. Bu bağlantıyı açarken sunucu olarak www.w3c.org kullanmalı ve bu bağlantı üzerinden aşağıdaki satırı yollamalı. GET /pub/WWW/TheProject.html HTTP/1.1 Unutulmaması gereken tam URI yani “/pub…” hiçbir zaman boş olmamalı. Şayet ana klasör seçilecekse “/” karakteri verilmeli.

İstek Başlık Alanları

Genel başlıkları ve Varlık başlıkları kısımlarını ayrı bölümler halinde ilerleyen bölümlerde inceleyeceğiz. Şimdilik, istek-başlık-alanları (request-header-fields) kabramlarına bakalım.

İstek başlık alanlarını kullanarak bir istemci tarafından sunucu tarafına fazladan bilgi göndermek için kullanabiliriz. Bu başlık içinde gönderilen isteğin bilgileri ve isteği gönderen istemcinin bilgileri istenildiği takdirde sunucuya gönderilebilir. Bu alanlar isteğin niteleyicileri olarak düşünülebilir. Aşağıda önemli istek başlıklarını görebilirsiniz.

  • ccept-Charset
  • Accept-Encoding
  • Accept-Language
  • Authorization
  • Expect
  • From
  • Host
  • If-Match
  • If-Modified-Since
  • If-None-Match
  • If-Range
  • If-Unmodified-Since
  • Max-Forwards
  • Proxy-Authorization
  • Range
  • Referer
  • TE
  • User-Agent

Kendi istemci ve sunucunuzu kendiniz yazacaksanız, kendi belirlediğiniz alanları da ekleyebilirsiniz.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

16 + 6 =

March 2021
M T W T F S S
1234567
891011121314
15161718192021
22232425262728
293031  
« Feb    

RSS Hasscript.com | Programlama hakkında – Yeni soru ve cevaplar

  • npm proxy ayarlarını temizlemek nasıl yapılır?
  • Spring Security üzerinde bazı methodlara token olmadan nasıl erişebilirim?
  • Cevaplandı: Bir değerim var, sınıf tanımlamak istemiyorum. Nasıl tanımlayabilirim?
  • Spring security şifresiz login nasıl olabilirim?
  • Spring boot projesinde methodları rol bazlı nasıl ayırabilirim?
  • Cevaplandı: "No converter found capable of converting from type" hatası alıyorum, neden?
  • Cevaplandı: Spring data jpa için limit nasıl tanımlarım?
  • Cevaplandı: Java'da para değerlerini ne tarz değişkende tutmak mantıklıdır?
  • "There is no PasswordEncoder mapped for the id " hatası nasıl çözülür?
  • Cevaplandı: vuetify ile validasyonda 0 sorunu
©2021 Kenan Erarslan | WordPress Theme by Superbthemes.com