Wie würden Sie HTTP-Header mit einem Standard-Anchor-Tag übergeben?

8

Laut der HTML4-Referenz gibt es kein Attribut zur Weiterleitung von HTTP-Headern mit dem Anchor-Tag.

>

Ich möchte einen Link anbieten, der einen bestimmten Dateityp mit dem Header Accept anfordert.

Der einzige Weg, den ich sehen kann, ist es einfach zu lassen und einen GET Parameter zu übergeben.

Sie können als warum ich dies tun möchte ... Ich beabsichtige, eine Reihe von Methoden als öffentliche API verfügbar zu machen und die Ergebnisse als JSON zu liefern. Und wenn Sie Anfragen mit JavaScript oder einer anderen Programmiersprache ausführen, verwenden Sie den Header Accept , um ein bestimmtes Antwortformat anzufordern. Dies ist "The Right Way". Aber das würde bedeuten, dass ich sowohl den Accept header als auch den < GET > Parameter in meinem Code berücksichtigen muss, der wie eine Duplizierung von Logik riecht.

Dieses Thema ist weitgehend umstritten, da solche Links möglicherweise nicht im Browser als Lesezeichen gespeichert werden können ... immer noch ... Ich würde gerne wissen, ob es ohne zu viel Magie möglich wäre ...

    
exhuma 29.09.2011, 17:23
quelle

3 Antworten

3

Ich sehe keinen anderen Weg, als den GET-Parameter oder eine Erweiterung wie

zu verwenden
  

Ссылка

     

oder besser

     

Ссылка

Was den Accept-Header außer Kraft setzt (da der Browser nur seinen Standard sendet) Kopfzeile akzeptieren). Dann müssen Sie nur ein Format initialisieren, um Header-Mapping wie folgt zu akzeptieren (was ich keine doppelte Logik finde):

%Vor%     
Daff 29.09.2011, 17:30
quelle
0

Sie können nicht.

  

Ich beabsichtige, eine Reihe von Methoden als öffentliche API verfügbar zu machen und die Ergebnisse als JSON zu liefern. Und wenn Sie Anfragen mit JavaScript oder einer anderen Programmiersprache ausführen, verwenden Sie den Header Accept , um ein bestimmtes Antwortformat anzufordern. Dies ist "The Right Way". Aber das würde bedeuten, dass ich sowohl den Header Accept als auch den Parameter GET in meinem Code berücksichtigen muss, der wie eine Duplizierung von Logik riecht.

Wenn ich Sie richtig verstehe, müssen Sie das sowieso nicht tun. Browser liefern bereits einen Header Accept .

    
Jim 29.09.2011 17:29
quelle
0

Hmm, scheint, als wenn Ihre Ergebnisse JSON sind, werden Sie trotzdem vom Skript senden / empfangen, das jede gewünschte Kopfzeile liefern kann. Lassen Sie einfach Ihren Link eine Skriptfunktion aufrufen und Sie sind fertig.

    
William Walseth 29.09.2011 17:32
quelle

Tags und Links