URL Parçası ve 302 yönlendirmeleri
URL Bölümü (#
sonraki parça) sunucusuna gönderilmez bilinir. Nasıl bir sunucu yeniden yönlendirme (302 Location:
başlık HTTP durum) dahil olduğunda iş parçaları olsa da merak ediyorum.
Benim soru iki yönlüdür:
Bir:Eğer özgün bir URL parçası (/original.php#foo
) ve yönlendirme /new.php
, yapılan orijinal URL parçası parçası yok sadece kaybolmak mı? Ya da bazen yeni URL için başvurdu mu? Yeni URL şimdiye kadar /new.php#foo
Bu durumda olacak?
B:Eğer sunucu bir parça ile yeni bir URL (/new.php#foo
) yönlendirir eğer orijinal konumu ne olursa olsun, parçası olsun ""? onur Ya sunucu çok parça ile müdahale hiçbir iş sahibi yapıyor ve tarayıcının bu nedenle sadece 8 ** giderek göz ardı eder?
CEVAP
2014-Jun-27 Güncelleştirin:
* *14, ÖNERİLEN bir STANDART olarak yayımlanmıştır. Changelog:
Konum üstbilgi alanı sözdizimi tüm izin vermek için değiştirildi URİ başvurular, göreli başvurular ve parçaları ile birlikte dahil bazı açıklamalar ile parçaları kullanın olmaz ne zaman uygun. (Bölüm 7.1.2)
Section 7.1.2. Location önemli noktalar:
Eğer Konum değeri 3xx (Yeniden Yönlendirme) yanıt sağlanan yaparsa parçası, bir bileşeni değil, bir kullanıcı Aracısı işlem GEREKİR eğer değeri URI parçası bileşeni miras olarak yeniden yönlendirme referans isteği oluşturmak için kullanılan hedef (yani, yeniden yönlendirme eğer varsa orijinal referans parça devralır).
Örneğin, bir İstek URI başvurusu için oluşturulan AL "http://www.example.org/~tim" diye bir 303 (Diğer)sonuç yanıt Başlığı alanını içeren:
Location: /People.html#tim
kullanıcı Aracısı yönlendirme gösteriyor "http://www.example.org/People.html#tim"
Aynı şekilde, bir URI başvurusu için oluşturulan istek OLSUN "http://www.example.org/index.html#larry" 301 neden olabilir (Taşındı Kalıcı olarak) yanıt Başlığı alanını içeren:
Location: http://www.example.net/index.html
kullanıcı Aracısı yönlendirme gösteriyor "http://www.example.net/index.html#larry", orijinal koruyarak parça tanımlayıcısı.
Bu açıkça sorularınıza cevap vermeli.
SON güncelleme
bu current HTTP specification ile (belirtilmemiş) açık bir konudur. IETF httpbis working group: 2 konuları ele alır
Location
başlıktaki parçaları sağlar #6. Bu diyor #43:
Ben sadece farklı tarayıcılar ile test edilmiştir.
- Firefox ve Safari konum başlıktaki bölümü kullanın.
- Opera şimdiki zaman kaynak URI parçası kullanır, aksi takdirde yeniden parçası konum
- IE (8) konumu URI parçası yok sayıyor, şimdiki zaman kaynağından fragment URI kullanır böylece
Öneri:
"Not: özgün URI parça tanımlayıcıları ve yeniden birlikte olmak gerektiğinde davranışı tanımlı değil; geçerli Kullanıcı arayüzleri gerçekten parçası önceliklidir ne olduğunu zaten biliyorsunuz."
[...]
Bu IE8 gibi görünüyoryok
Location
parça idenfitier (gördüğüm davranış localhost sınırlı olabilir) kullanın.Böylece Safari/IE/için tutarlı bir davranış bu Konumu başlığından parçası alışır/Chrome (sadece test), özgün URI ne olursa olsun Firefox var.
Ben bu nedenle belge teklif değiştirinbubeklenen davranış olarak.
bu sorunuza en tarayıcısı ve bu sorun eninde sonunda standart olacak çünkü) uyumlu geleceğe yönelik cevap yol açar:
Bir:orijinal lerini parçaları atıldı.
B:Location
başlığından parçaları onur duyuyoruz.
Otomatik NuGet oluşturma inşa sürecini...
Nasıl sadece jQuery ile CSS özelliği p...
() startActivityForResult bir Parçası ...
android görünümler Birleşik Devletleri...
Java'da bir Dizinin sadece bir parçası...