Bir API'yi kullanmaya başlamadan önce neler yapabileceğini hiç merak ettiniz mi? Belirli bir uç nokta tarafından hangi yöntemlerin, başlıkların ve parametrelerin desteklendiğini bilmek ister misiniz? Bu yazıda, herhangi bir API'yi keşfetmek için HTTP OPTIONS yöntemini nasıl kullanacağınızı göstereceğiz. HTTP OPTIONS yöntemi, HTTP protokolünün daha az bilinen ancak çok kullanışlı yöntemlerinden biridir. Belirli bir kaynak için mevcut iletişim seçenekleri hakkında bilgi talep etmenize olanak tanır. Başka bir deyişle, bir API'ye neler yapabileceğini ve bunu nasıl yapabileceğini sormanızı sağlar.
HTTP OPTIONS yöntemini kullanmak, API'lerle çalışırken size çok zaman ve zahmet kazandırabilir. Hatalardan kaçınmanıza, sorunları gidermenize ve isteklerinizi optimize etmenize yardımcı olabilir. Ayrıca, aksi takdirde farkında olmayabileceğiniz yeni özellikleri veya işlevleri keşfetmenize de yardımcı olabilir.
HTTP OPTIONS Yöntemi Nedir?
HTTP OPTIONS yöntemini nasıl kullanacağımızın ayrıntılarına girmeden önce, bunun ne olduğunu ve nasıl çalıştığını anlayalım. HTTP OPTIONS yöntemi, GET, POST, PUT, PATCH, DELETE, HEAD, TRACE ve CONNECT ile birlikte HTTP protokolünün dokuz standart HTTP yönteminden biridir. Her yöntemin belirli bir amacı ve anlamı vardır ve bir kaynak üzerinde farklı eylemler gerçekleştirmek için kullanılırlar.
HTTP OPTIONS yöntemi, belirli bir kaynak için mevcut iletişim seçenekleri hakkında bilgi talep etmek için kullanılır. Bir kaynak, bir web sayfası, bir resim, bir dosya veya bir API uç noktası gibi bir URI (Uniform Resource Identifier) ile tanımlanabilen herhangi bir varlık olabilir. Örneğin, URI https://api.example.com/users/1, example.com API'sinde 1 kimliğine sahip bir kullanıcıya karşılık gelen bir kaynağı temsil eder.
Bir kaynağa bir HTTP OPTIONS isteği gönderdiğinizde, temelde sunucuya şunu soruyorsunuz: "Bu kaynakla ne yapabilirim?". Sunucu, o kaynak için mevcut seçenekler hakkında bilgi içeren bir HTTP yanıtıyla yanıt verecektir. Bilgiler genellikle Allow, Accept, Content-Type vb. gibi HTTP başlıkları biçiminde sağlanır.

Bir web tarayıcısı, çapraz kaynaklı bir istek yaptığında, önce sunucuya HTTP OPTIONS yöntemini kullanarak bir ön uçuş isteği gönderir. Ön uçuş isteği, sunucunun gerçek isteğin yapılmasını izin verip vermediğini kontrol etmek için kullanılır. Sunucu, Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers vb. gibi CORS ile ilgili başlıkları içeren bir HTTP yanıtıyla yanıt verecektir. Ön uçuş yanıtı, gerçek isteğin izin verildiğini gösteriyorsa, tarayıcı gerçek isteği göndermeye devam edecektir. Aksi takdirde, tarayıcı isteği iptal edecek ve bir hata bildirecektir.
http option yöntemi nasıl kullanılır
HTTP OPTIONS yöntemi, belirli bir URL veya sunucu için iletişim seçenekleri hakkında bilgi talep etmek için kullanılır. Hangi yöntemlere izin verildiğini, hangi başlıkların desteklendiğini veya CORS'un etkin olup olmadığını kontrol etmek için kullanılabilir. HTTP OPTIONS yöntemini kullanmak için, OPTIONS anahtar sözcüğünü ve ardından URL'yi veya tüm sunucuya başvurmak için bir yıldız işareti (*) içeren bir istek gönderebilirsiniz. Örneğin:
OPTIONS /index.html HTTP/1.1
OPTIONS * HTTP/1.1
Sunucu, izin verilen yöntemleri listeleyen bir durum kodu ve bir Allow başlığı ile yanıt verecektir. Ayrıca CORS amaçları için Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers ve Access-Control-Max-Age gibi diğer başlıkları da içerebilir. Örneğin:
HTTP/1.1 200 OK
Allow: GET, HEAD, POST, OPTIONS
Access-Control-Allow-Origin: https://foo.example
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Headers: X-PINGOTHER, Content-Type
Access-Control-Max-Age: 86400
Bir OPTIONS isteği göndermek ve yanıt başlıklarını görmek için Apidog gibi bir araç kullanabilirsiniz.
Apidog Kullanarak Bir HTTP OPTIONS İsteği Nasıl Gönderilir?
HTTP OPTIONS yönteminin ne olduğu ve ne işe yaradığına dair temel bir anlayışa sahip olduğumuza göre, herhangi bir API'yi keşfetmek için bunu nasıl kullanabileceğimizi görelim. Bu amaçla, herhangi bir API ile basit ve sezgisel bir şekilde etkileşim kurmanızı sağlayan web tabanlı bir araç olan Apidog'u kullanacağız. İstek göndermek, yanıtları görüntülemek ve başlıkları incelemek için Apidog'u kullanabilirsiniz. Ayrıca, herhangi bir API için kod parçacıkları, dokümantasyon ve test senaryoları oluşturmak için de kullanabilirsiniz.
Apidog kullanarak bir HTTP OPTIONS isteği göndermek için şu adımları izlemeniz gerekir:
Adım 1: Apidog'u açın ve yeni bir istek oluşturun.

Adım 2: Yöntem açılır menüsünden OPTIONS yöntemini seçin. Bu, Apidog'a girdiğiniz URL'ye bir HTTP OPTIONS isteği göndermesini söyleyecektir.

Adım 3: Keşfetmek istediğiniz kaynağın URI'sini URI giriş alanına girin ve Gönder düğmesini tıklayın veya Ctrl+Enter tuşlarına basın. Bu, isteği sunucuya gönderecek ve yanıtı yanıt bölümünde görüntüleyecektir.

Kaynak için mevcut iletişim seçenekleri hakkında bilgi görmek için yanıt başlıklarını ve gövdesini inceleyin. Belirli başlıkları veya değerleri aramak için filtre giriş alanını da kullanabilirsiniz.
Bir HTTP OPTIONS Yanıtından Hangi Bilgileri Alabilirsiniz?
Bir kaynağa bir HTTP OPTIONS isteği gönderdiğinizde, o kaynak için mevcut iletişim seçenekleri hakkında birçok bilgi alabilirsiniz. Bilgiler genellikle Allow, Accept, Content-Type vb. gibi HTTP başlıkları biçiminde sağlanır. İşte bazı yaygın başlıklar ve anlamları:
- Allow: Bu başlık, kaynak için izin verilen HTTP yöntemlerini listeler. Örneğin, yanıt Allow: GET, POST, HEAD içeriyorsa, kaynakla etkileşim kurmak için GET, POST veya HEAD yöntemlerini kullanabileceğiniz anlamına gelir.
- Accept: Bu başlık, kaynak için kabul edilebilir ortam türlerini listeler. Örneğin, yanıt Accept: application/json, application/xml içeriyorsa, kaynağı JSON veya XML formatında talep edebileceğiniz anlamına gelir.
- Content-Type: Bu başlık, yanıt gövdesinin ortam türünü gösterir. Örneğin, yanıt Content-Type: application/json içeriyorsa, yanıt gövdesinin JSON formatında olduğu anlamına gelir.
- Access-Control-Allow-Origin: Bu başlık, kaynağa erişime izin verilen kaynakları gösterir. Örneğin, yanıt Access-Control-Allow-Origin: * içeriyorsa, herhangi bir kaynağın kaynağa erişebileceği anlamına gelir. Yanıt Access-Control-Allow-Origin: https://example.com içeriyorsa, yalnızca https://example.com kaynağının kaynağa erişebileceği anlamına gelir.
- Access-Control-Allow-Methods: Bu başlık, kaynak için izin verilen yöntemleri gösterir. Örneğin, yanıt Access-Control-Allow-Methods: GET, POST, OPTIONS içeriyorsa, kaynağa erişmek için GET, POST veya OPTIONS yöntemlerini kullanabileceğiniz anlamına gelir.
- Access-Control-Allow-Headers: Bu başlık, kaynak için izin verilen başlıkları gösterir. Örneğin, yanıt Access-Control-Allow-Headers: Content-Type, Authorization içeriyorsa, kaynağa erişmek için Content-Type veya Authorization başlıklarını kullanabileceğiniz anlamına gelir.
- Access-Control-Max-Age: Bu başlık, ön uçuş yanıtının tarayıcı tarafından ne kadar süreyle önbelleğe alınabileceğini gösterir. Örneğin, yanıt Access-Control-Max-Age: 86400 içeriyorsa, tarayıcının ön uçuş yanıtını 86400 saniye (24 saat) boyunca önbelleğe alabileceği anlamına gelir.
Bunlar, bir HTTP OPTIONS yanıtından alabileceğiniz bazı yaygın başlıklardır. Keşfettiğiniz API'ye veya kaynağa özgü başka başlıklar olabilir. Tüm başlıkları ve değerlerini incelemek ve onlar hakkında daha fazla bilgi edinmek için Apidog'u kullanabilirsiniz.
Sonuç
Bu blog yazısında, herhangi bir API'yi keşfetmek için HTTP OPTIONS yöntemini nasıl kullanacağınızı gösterdim. HTTP OPTIONS yöntemi, herhangi bir API'nin yeteneklerini ve özelliklerini keşfetmenize yardımcı olabilecek güçlü ve kullanışlı bir araçtır. HTTP OPTIONS yöntemini kullanarak, API'lerle çalışırken zamandan ve zahmetten tasarruf edebilirsiniz. Ayrıca yeni şeyler öğrenebilir ve isteklerinizi optimize edebilirsiniz.
Ayrıca, herhangi bir API ile basit ve sezgisel bir şekilde etkileşim kurmanızı sağlayan web tabanlı bir araç olan Apidog'u nasıl kullanacağınızı da gösterdim.