Heim  >  Artikel  >  Backend-Entwicklung  >  So legen Sie den Header in Golang fest

So legen Sie den Header in Golang fest

PHPz
PHPzOriginal
2023-04-03 09:17:152589Durchsuche

Golang ist eine effiziente Programmiersprache, die für viele Menschen zur ersten Wahl geworden ist. In Golang ist das Festlegen des Headers ein sehr grundlegender Vorgang, und diese Funktion wird häufig von jedem verwendet. Wie setzt man also den Header in Golang?

Um in Golang den Header festzulegen, müssen wir den Header-Typ im http-Paket verwenden. Der Header-Typ stellt den HTTP-Nachrichtenheader dar, der zum Hinzufügen oder Ändern der Header-Informationen einer HTTP-Anfrage oder -Antwort verwendet werden kann. Der Header-Typ ist ein Kartentyp, der Schlüssel ist ein String-Typ und der Wert kann ein Segment des String-Typs sein. Hier ist ein Beispiel:

package main

import (
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request){
        w.Header().Set("Content-Type", "text/plain")
        w.Write([]byte("Hello, world!"))
    })

    http.ListenAndServe(":8080", nil)
}

Im obigen Code definieren wir eine Handler-Funktion, die die HandleFunc-Funktion im http-Paket verwendet. Mit der HandleFunc-Funktion kann eine Handler-Funktion registriert werden, die aufgerufen wird, wenn der Browser auf das Stammverzeichnis der Website zugreift. Im Funktionskörper verwenden wir die Parameter ResponseWriter und Request, um HTTP-Anfragen und -Antworten zu verarbeiten. Die Methode w.Header().Set() wird verwendet, um die Content-Type-Header-Informationen festzulegen, die dem Browser mitteilen, dass es sich bei dem von uns gesendeten Inhalt um einfachen Text und nicht um HTML handelt. Schließlich verwenden wir w.Write(), um einen String an den Browser zu senden.

Zusätzlich zur Set-Methode bietet der Header-Typ auch die Add-Methode und die Del-Methode. Die Add-Methode wird verwendet, um Header-Informationen hinzuzufügen. Wenn die Header-Informationen bereits vorhanden sind, werden sie nach den ursprünglichen Header-Informationen angehängt. Die Del-Methode wird verwendet, um Header-Informationen zu löschen. Wenn die Header-Informationen nicht vorhanden sind, wird der Methodenaufruf ignoriert.

Hier ist ein Beispiel, das zeigt, wie man HTTP-Header-Informationen mit der Add-Methode und der Del-Methode löscht und hinzufügt:

package main

import (
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request){
        w.Header().Add("Cache-Control", "no-cache")
        w.Header().Add("Cache-Control", "max-age=0")

        w.Write([]byte("Hello, world!"))
    })

    http.HandleFunc("/deleteheader", func(w http.ResponseWriter, r *http.Request){
        w.Header().Del("Cache-Control")

        w.Write([]byte("Header deleted"))
    })

    http.ListenAndServe(":8080", nil)
}

Im obigen Code haben wir die Add-Methode verwendet, um HTTP-Header-Informationen hinzuzufügen. Da die Add-Methode mehrere Header-Informationen mit demselben Namen hinzufügen kann, haben wir zwei Werte für die Cache-Control-Header-Informationen hinzugefügt. In der Route /deleteheader verwenden wir die Del-Methode, um die Cache-Control-Header-Informationen zu löschen.

Zusammenfassung:

In Golang können Sie den Header-Typ im http-Paket verwenden, um Header-Informationen festzulegen. Wir können die Set-Methode zum Festlegen von Header-Informationen, die Add-Methode zum Hinzufügen von Header-Informationen und die Del-Methode zum Löschen von Header-Informationen verwenden. Wenn Header-Informationen mit demselben Namen vorhanden sind, hängt die Add-Methode diese nach den ursprünglichen Header-Informationen an. Die Del-Methode löscht alle Header-Informationen mit demselben Namen.

Ich hoffe, dieser Artikel ist hilfreich für Sie, probieren Sie es aus!

Das obige ist der detaillierte Inhalt vonSo legen Sie den Header in Golang fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn