Durum kodları · 1xx–5xx
401, 403, 404 ve 407: kimlik mi, yetki mi?
Authentication ile authorization ayrımını gerçek HTTP kararlarına bağla.
Kavramı anlayalım
401 Unauthorized adı kafa karıştırır: bu yanıt çoğunlukla kimliğin henüz geçerli biçimde doğrulanamadığını anlatır. Eksik, hatalı veya süresi geçmiş credential buna neden olabilir. Origin server 401 üretirken en az bir uygun WWW-Authenticate challenge göndermelidir. Bearer doğrulayıcı, gerekiyorsa invalid_token gibi scheme parametrelerini kullanır; tüm token veya iç hata ayrıntılarını yanıta yazmaz.
403 Forbidden sunucunun isteği anladığı ama yerine getirmeyi reddettiği durumdur. Geçerli kimlik var fakat rol, policy, scope veya kaynağa erişim yetmiyorsa sıklıkla 403 uygundur. Tekrar giriş yapmak otomatik çözüm değildir. Sunucu, özel kaynağın varlığını gizlemek için 404 dönebilir; bunu kaynağa ve tehdit modeline göre tutarlı seç. 403 sadece “kullanıcı login olmuş” anlamına gelmez; farklı engelleme politikaları da olabilir.
407 Proxy Authentication Required origin API’den farklı olarak forward proxy’nin kimlik istediğini anlatır ve Proxy-Authenticate challenge gerekir. Corporate proxy ile API login akışını karıştırma. Frontend 401’de kontrollü oturum yenileme veya giriş akışı, 403’te izin açıklaması gösterebilir; sonsuz refresh döngüsü üretmemelidir. Kararı yalnız UI’da değil, API ve kaynak denetiminde uygula.
Oturum bitmesiyle izin yetersizliğini frontend’de doğru ayırırken.
Her 403’te token yenilemek veya her 401’i “rolün yok” diye göstermek.
EZBERDEN KARARA
Bu istekte ne yapardın?
Cevabı seç; gerekçeyi oku. Yanlış yaptığın konunun dersine dön. Sonuç yalnız bu sorulardaki doğru cevap sayısıdır, uzmanlık veya güvenlik sertifikası değildir.
API’ye süresi geçmiş Bearer token gönderildi. Uygun yanıt hangisi?
Yanıtlar bu sayfa oturumunda kalır; okuma ilerlemen ayrıca tarayıcıda saklanır.
Aynı konu. Üç farklı derinlik.
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="api"Credential yok veya geçersiz; uygun scheme duyurulur.
Bu sayfa dış sunuculara istek göndermez. HTTP mesajları temsili, HTTP/1.1 biçiminde okunabilir gösterimlerdir; HTTP/2 ve HTTP/3 wire formatı değildir. example.test ayrılmış öğretim alan adıdır. Komut ve JavaScript örneklerini yalnız kendi test ortamında uygula; gerçek token veya cookie yayımlama.
Önce kendin dene.
Geçerli token var, ama kullanıcı başka müşterinin raporunu silmek istiyor. Yeni token sorunu çözer mi?
Çözümü ve açıklamasını göster
Deny: 403 (or consistent concealment policy: 404)Hayır; ownership/tenant denetimi reddetmelidir. 401 kimlik hatasıyla aynı değildir.