Response.Redirect Method
Response.Redirect URL (URL – Uniform Resource Descriptor)
Možnosti:
- URL- Parameter je všeobecný deskriptor prostriedku. Označuje, kedy má byť prehliadač presmerovaný.
komentár:
Akýkoľvek výskyt túto metódu medzi značkami
A webové stránky budú ignorované. Túto metódu je možné použiť iba v hlavičke HTML stránky. Táto metóda odovzdá hlavičku prehliadaču, ak chýba parameter URL tento objekt v nasledujúcej forme:Adresa URL umiestnenia objektu HTTP/1.0 302
Metóda Response.End
Koniec odpovede
komentár:
Ak bola vlastnosť Response.Buffer nastavená na hodnotu TRUE, potom volanie metódy Response.End vyprázdni vyrovnávaciu pamäť, čím sa dáta z nej vytlačia klientovi. Ak nechcete používateľovi zobrazovať údaje, musíte zavolať nasledujúcu metódu:
<%
Response.Clear
Response.End
%>
Metóda Response.AddHeader
Metóda AddHeader pridáva hlavičku HTML so špecifickými hodnotami. Táto metóda vždy pridá novú hlavičku do odpovede do klientskeho prehliadača. Táto metóda nenahrádza existujúcu hlavičku novou. Pridaný názov nie je možné odstrániť.
Táto metóda sa používa len pre „pokročilé“ úlohy.
Response.AddHeader názov_premennej, hodnota
Možnosti:
- názov_premennej- Názov nových možností hlavičky HTML.
- význam- Hodnota, ktorá sa má nastaviť, aby sa zapamätala v hlavičke.
Poznámky:
Aby metóda fungovala správne, názov_premennej nesmie obsahovať znak podčiarknutia (_). Sada ServerVariables interpretuje podčiarknutie ako pomlčku v hlavičke. Napríklad nasledujúci skript prinúti server nájsť parameter z hlavičky HTML s názvom MY-HEADER.
<% Requset.ServerVariables("HTTP_MY_HEADER") %>
Keďže protokol HTTP vyžaduje, aby všetky parametre hlavičky boli odovzdané pred začiatkom tela HTML stránky, musíte vo svojom skripte zavolať metódu AddHeader pred začiatkom popisu.
.... Je tu jedna výnimka. Ak je hodnota vlastnosti Buffer nastavená na true (true), potom môžete AddHeader napísať v ľubovoľnom bode skriptu, ale pred prvým volaním metódy Flush. V opačnom prípade vyvolá volanie metódy AddHeader chybu.Nasledujúce dva súbory .asp demonštrujú posledný bod.
<% Response.AddHeader "Внимание!", "Текст сообщения об ошибке"%>
váš text na stránke
V tomto príklade sa stránka neukladá do vyrovnávacej pamäte. Skript funguje, ale AddHeader sa volá skôr, ako server vytvorí HTML výstup pre klienta.
<% Response.Buffer = true %>
tu sú informácie o vašej stránke...<%Response.AddHeader "Внимание!", "сообщение об ошибке"%>
<%Response.Flush%>
<%Response.Write("некий текст")%>
V druhom príklade je stránka uložená do vyrovnávacej pamäte a v dôsledku toho server neodošle text klientovi, kým sa neskončí samotný skript alebo kým nenarazí na metódu Flush. Túto metódu môžete použiť na odoslanie viacerých kópií niektorého parametra hlavičky s rôznymi hodnotami, ako pri hlavičke WWW-Authenticate.
Metóda Response.AppendToLog
Metóda AppendToLog pripojí riadok na koniec súboru denníka webového servera. Túto metódu môžete volať toľkokrát, koľkokrát potrebujete. Pri každom volaní metódy sa zadaný reťazec zapíše do súboru správy servera.
Hodnota Response.AppendToLog
Možnosti:
- význam- Text, ktorý sa má pridať do súboru správy webového servera. Tento reťazec nemôže obsahovať znak čiarky (,). Celková dĺžka pridaného riadku by navyše nemala presiahnuť 80 znakov.
Poznámky:
Ak chcete použiť túto funkciu, musíte mať povolenú možnosť Dopyt na URI na paneli „Rozšírené vlastnosti protokolovania“ pre tento webový server v IIS.
Metóda Response.BinaryWrite
Metóda BinaryWrite vám umožňuje zapísať špecifikované informácie do aktuálneho výstupu HTTP bez akejkoľvek konverzie znakov. Táto metóda je užitočná na zobrazenie nereťazcových informácií, ako sú binárne údaje požadované aplikáciou.
Dáta Response.BinaryWrite
Možnosti:
- údajov- Údaje určené pre výstup HTTP.
Ak máte objekt, ktorý vytvára bajtové pole, môžete použiť nasledujúce volanie tejto metódy na odovzdanie tohto poľa nejakej aplikácii spustenej na klientskom počítači.
<% Set BinGen = Server.CreateObject(My.BinaryGenerator)
Pict = BinGen.MakePicture
Response.BinaryWrite Pict
%>
Response.Clear Method
Metóda Clear vymaže všetok výstup HTML vo vyrovnávacej pamäti. Táto metóda však nevymaže informácie hlavičky z vyrovnávacej pamäte. Túto metódu môžete použiť na správu chýb. Táto metóda však povedie k chybe, ak vlastnosť Response.Buffer nie je pravdivá.
Vlastnosť Response.CacheControl
Táto vlastnosť prepíše predvolenú hodnotu. Keď nastavíte vlastnosť na Public, proxy server môže uložiť výstup generovaný ASP do vyrovnávacej pamäte.
Response.CacheControl [= hlavička riadenia vyrovnávacej pamäte]
Možnosti:
- Hlavička ovládania vyrovnávacej pamäte- Táto možnosť ovládania titulu môže byť buď verejná alebo súkromná.
Vlastnosť Response.CharSet
Vlastnosť CharSet vám umožňuje pridať názov tabuľky kódov znakov (napríklad WINDOWS-1251) do hlavičky HTML, reťazec typu obsahu (typ obsahu).
Response.CharSet codetable_name
Možnosti:
- codetable_name- Reťazec, ktorý špecifikuje tabuľku kódov pre danú HTML stránku. Názov tejto kódovej tabuľky sa pridá do hlavičky súboru HTML pod parametrom „typ obsahu“.
Pre stránku ASP, ktorá nepoužíva vlastnosť Response.Charset, parameter "content-type" v hlavičke bude:
content-type:text/html
Ak súbor ASP obsahuje príkaz
<%Response.Charset("Windows-1251")%>
potom v hlavičke bude pole typu obsahu vyzerať takto
content-type:text/html; charset=Windows-1251
komentár:
Táto funkcia vloží do hlavičky ľubovoľný reťazec a nekontroluje, či je správny.
Ak stránka obsahuje niekoľko značiek Response.Charset, potom každá nasledujúca značka nahradí hodnotu svojou vlastnou.
Vlastnosť Response.ContentType
Vlastnosť ContentType vám umožňuje určiť typ (typ) obsahu súboru HTML. Ak sa táto vlastnosť nepoužíva, predvolená hodnota je text/html.
Response.ContentType [=typ_obsahu]
Možnosti:
- Typ obsahu- Reťazec popisujúci typ obsahu HTML. Tento reťazec má zvyčajne tvar "typ/podtyp", kde typ je hlavná kategória obsahu a podtyp určuje typ obsahu. Na získanie úplný zoznam podporované typy – pozrite si dokumentáciu vášho prehliadača alebo špecifikáciu HHTP.
Nasledujúci príklad ilustruje nastavenie typu obsahu na Channel Definition Format (Push Channels).
<% Response.ContentType = "application/x-cdf" %>
Druhý príklad demonštruje nastavenie vlastnosti na najbežnejšie známe hodnoty.
<% Response.ContentType = "text/HTML" %>
<% Response.ContentType = "image/GIF" %>
<% Response.ContentType = "image/JPEG" %>
Response.Expires property
Vlastnosť Expires určuje čas do HTML stránku uložený prehliadačom sa považuje za neskončenú (doba uchovávania). Ak používateľ požaduje stránku uloženú vo vyrovnávacej pamäti z prehliadača, ktorej platnosť ešte nevypršala, prehliadač ju vráti priamo zo svojej vyrovnávacej pamäte.
Response.Expires [=číslo]
Možnosti:
- číslo- Množstvo času v minútach, kým sa stránka považuje za „oneskorenú“. Nastavenie tejto hodnoty na 0 spôsobuje táto strana sa okamžite stane „po splatnosti“.
komentár:
Ak je táto vlastnosť nastavená na stránke viac ako raz, použije sa najmenšia hodnota.
Vlastnosť Response.ExpiresAbsolute
Vlastnosť ExpiresAbsolute určuje čas a dátum, po ktorom sa stránka HTML uložená v prehliadači považuje za skončenú. Ak používateľ požaduje stránku uloženú vo vyrovnávacej pamäti z prehliadača, ktorej platnosť ešte nevypršala, prehliadač ju vráti priamo zo svojej vyrovnávacej pamäte. Ak je zadaný čas (a je zadaný dátum), „doba uchovávania“ stránky uplynie o polnoci daného dňa. Ak nie je zadaný čas ani dátum, hodnota sa priradí podľa dňa a času spustenia skriptu.
Response.ExpiresAbsolute [= [dátum] [čas]]
Možnosti:
- dátum- Označuje dátum vypršania „doby uchovávania“. Formát dátumu musí zodpovedať štandardu RFC-1123.
- čas- Označuje čas, kedy na stránke uplynie „doba uchovávania“. Táto hodnota sa pred odoslaním hlavičky klientovi skonvertuje do formátu GMT (Greenwich Mean Time).
komentár:
Ak je táto vlastnosť definovaná viac ako raz na stránku, potom sa predpokladá, že čas vypršania „doby uchovávania“ bude najskorší zo všetkých špecifikovaných hodnôt.
<% Response.ExpiresAbsolute = #May 31,1998 13:30:15# %>
Vlastnosť Response.IsClientConnected
Táto vlastnosť je len na čítanie, čo znamená, že tejto vlastnosti nemožno priradiť žiadne hodnoty. Táto vlastnosť označuje, či je klient pripojený alebo ešte nie je pripojený k serveru, ako je definované v poslednej časti Response.Write.
Response.IsClientConnected()
komentár:
Táto vlastnosť vám umožňuje určiť, kedy je používateľ pripojený a kedy je odpojený od servera. Napríklad doba medzi odpoveďou servera a požiadavkou klienta dáva istotu, že klient je stále pripojený a že má zmysel pokračovať vo vykonávaní skriptu.
<%
"посмотрим, подключен ли пользователь
If Not Response.IsClientConnected Then
"получаем номер сессии и закрываем сессию
Shutdownid = Session.SessionID
"подготовка к закрытию сессии
Shutdown(Shutdownid)
End If
%>
Vlastnosť Response.Pics
Táto vlastnosť vám umožňuje pridať hodnotu poľa pics-label do hlavičky odpovede.
Response.PICS(PICSLabel)
možnosti
- Štítok s obrázkami- Reťazec, ktorý bol skonvertovaný do formátu PICS - štítok. Hodnota špecifikovaná v tomto parametri sa pridá do hlavičky odpovede v poli PICS.
Pre súbor ASP vrátane:
<% Response.PICS("(PICS-1.1 štítky na " & chr(34) & "1997.01.05T08:15-0500" až "1999.12.31T23:59-0000" hodnotenia (v 0 s 010 n 0))%>
Vygeneruje sa ďalšia hlavička
Označenie PICS: (PICS-1.1 štítky na "1997.01.05T08:15-0500" do "1999.12.31.T23:59-0000" hodnotenie (v 0 s 0 1 0 n 0))
komentár:
Táto vlastnosť umožňuje vložiť do hlavičky ľubovoľné riadky bez ohľadu na to, či sú riadky platné.
Ak stránka obsahuje veľa značiek obsahujúcich Response.PICS, potom každá ďalšia nahradí hodnotu predchádzajúcej.
Vlastnosť Response.Status
Táto vlastnosť vám umožňuje zadať stavový reťazec vrátený serverom. Hodnoty stavu sú definované v špecifikácii HTTP.
Response.Status = popis stavu
možnosti
- state_description- Reťazec, ktorý obsahuje trojmiestne číslo označujúce stavový kód a tiež stručný popis tohto kódu. Napríklad 310 Presunúť natrvalo.
Nasledujúci príklad ukazuje nastavenie stavu:
<% Response.Status = "401 Unauthorized" %>
komentár:
Túto vlastnosť použite na úpravu reťazca vráteného serverom.
Ak chcete získať inštanciu tejto triedy, použite volanie metódy wa()->getResponse(), napríklad:
Wa()->getResponse()->getHeader("Typ obsahu")
Metódy
verejná funkcia pridať CSS ($url, $app_id = false)
Pridá adresu URL do zoznamu súborov CSS. Všetky pridané adresy URL súborov CSS je možné získať v šablóne Smarty pomocou metódy ($wa->css()).
možnosti
Príklad
wa()->getResponse()->addCss("css/myapp.css", "moja aplikácia"); verejná funkcia pridať Google Analytics ($str)
Pridá útržok kódu JavaScript pre službu Google Analytics. Kód Google Analytics (vrátane kódu pridaného touto metódou) je zahrnutý do šablóny HTML stránky pomocou metódy ($wa->headJs()).
možnosti
verejná funkcia addHeader ($name, $value, $replace = true)
Pridá hlavičku, ktorá bude odoslaná serverom ako odpoveď na požiadavku používateľa. Všetky takto pridané hlavičky budú odoslané užívateľovi pri spustení .
možnosti
Príklad
wa()->getResponse()->addHeader("Typ obsahu", "application/json"); verejná funkcia addJs ($url, $app_id = false)
Pridá adresu URL do zoznamu súborov JavaScript. Všetky pridané adresy URL JavaScriptu je možné získať v šablóne Smarty pomocou metódy ($wa->js()).
možnosti
Príklad
wa()->getResponse()->addJs("js/myapp.js", "myapp"); verejná funkcia getCss ($html = true, $strict = nepravda)
Vráti zoznam predtým pridaných odkazov na súbory CSS.
možnosti
- $html
Príznak označujúci potrebu vrátiť kód HTML na pripojenie súborov CSS. Ak je zadaná hodnota false, metóda vráti pole adries URL takýchto súborov.
- $prísne
Príznak, ktorý označuje, že formát XHTML sa použije namiesto HTML, keď je $html nastavené na true .
Príklad
wa()->getResponse()->getCss(); verejná funkcia getHeader ($name = null)
Vráti hodnotu hlavičky odpovede.
možnosti
Príklad
wa()->getResponse()->addHeader("Typ obsahu", "application/json"); wa()->getResponse()->getHeader("Typ obsahu"); Výsledok
application/json verejná funkcia getJs ($html = pravda)
Vráti zoznam odkazov na súbor odpovedí JavaScript.
možnosti
Príklad
wa()->getResponse()->getJs(); verejná funkcia getMeta ($name = null)
Vráti obsah META údajov: názov stránky ("názov"), kľúčové slová META tagov ("kľúčové slová"), popis ("popis").
možnosti
Príklad
wa()->getResponse()->getMeta("kľúčové slová"); verejná funkcia getStatus()
Vráti predtým nastavený stav odpovede servera.
Príklad
wa()->getResponse()->setStatus(200); wa()->getResponse()->getStatus(); Výsledok
200
verejná funkcia getTitle()
Vráti názov (TITLE) stránky.
Príklad
wa()->getResponse()->setTitle("Môj online obchod"); wa()->getResponse()->getTitle(); Výsledok
Môj internetový obchod verejná funkcia presmerovať ($url, $code = null)
Presmeruje používateľa na zadanú adresu URL.
možnosti
- $url
Adresa URL, na ktorú má byť používateľ presmerovaný.
- $code
Kód odpovede servera, ktorý by mal sprevádzať presmerovanie.
Príklad
wa()->getResponse()->redirect("http://otherdomain.ru/", 301); verejná funkcia sendHeaders()
Odošle predtým nastavené hlavičky.
Príklad
wa()->getResponse()->addHeader("Typ obsahu", "application/json"); wa()->getResponse()->sendHeaders(); verejná funkcia setCookie ($name, $value, $expire = null, $path = null, $domain = "", $secure = false, $http_only = false)
Nastaví hodnotu položky cookie pomocou funkcie PHP setcookie.
možnosti
- $name
ID záznamu.
- $value
Hodnota položky.
- $expire
Čas expirácie.
- $cesta
Cesta k "podadresáru" URI, v ktorom je platná hodnota položky.
- $domain
Názov domény, pre ktorý je platná hodnota položky.
- $secure
Príznak označujúci, že zápis je dostupný iba vtedy, ak je hodnota prenášaná prostredníctvom protokolu HTTPS.
- $http_only
Príznak, ktorý indikuje, že hodnota záznamu je dostupná len cez HTTP protokol a nie je prístupná pomocou klientskych skriptov (JavaScript).
Príklad
wa()->getResponse()->setCookie("code", $code, time() + 30 * 86400, null, "", false, true); verejná funkcia setMeta ($name, $value = null)
Nastavuje hodnotu údajov META. Táto hodnota je dostupná v šablónach Smarty pomocou metódy ($wa->meta()).
možnosti
Príklad
wa()->getResponse()->setMeta("kľúčové slová", $kľúčové slová); verejná funkcia setStatus ($code)
Nastavuje stav odpovede servera.
možnosti
Príklad
wa()->getResponse()->setStatus(404); verejná funkcia setTitle ($title)
Nastaví názov (TITLE) stránky. Obsah nadpisu je dostupný v šablónach Smarty pomocou metódy ($wa->title()).
Po prijatí a interpretácii správy s požiadavkou server odpovie správou HTTP odpovede:
- Stavový riadok
- Nula alebo viac polí hlavičky (General|Response|Entity), za ktorými nasleduje CRLF
- Prázdny riadok (t. j. riadok, ktorý pred CRLF nemá nič) označujúci koniec polí hlavičky
- Voliteľne telo správy
Nasledujúce časti vysvetľujú každú z entít použitých v správe odpovede HTTP.
Stavový riadok správy
Stavový riadok pozostáva z verzie protokolu, za ktorou nasleduje číselný stavový kód a súvisiaca textová fráza. Prvky sú oddelené medzerami SP.
Stavový riadok = HTTP verzia SP Stavový kód SP Reason-Fhrase CRLF Verzia HTTP
Server podporujúci HTTP verziu 1.1 vráti nasledujúce informácie o verzii:
Verzia HTTP=HTTP/1.1
stavový kód
Prvok Status-Code je 3-miestne celé číslo, kde prvá číslica Status-Code definuje triedu odpovede a posledné dve číslice nemajú žiadnu kategorizačnú úlohu. Pre prvú číslicu je 5 hodnôt:
S.N. |
Kód a popis |
---|
1
|
1xx: Informatívne Znamená to, že žiadosť bola prijatá a proces pokračuje.
|
2
|
2xx: Úspech Znamená to, že akcia bola úspešne prijatá, pochopená a prijatá.
|
3
|
3xx: Presmerovanie Znamená to, že na dokončenie žiadosti je potrebné vykonať ďalšie kroky.
|
4
|
4xx: Chyba klienta Znamená to, že požiadavka obsahuje nesprávnu syntax alebo ju nemožno splniť.
|
5
|
5xx: Chyba servera Znamená to, že server nesplnil zjavne platnú požiadavku.
|
Stavové kódy HTTP sú rozšíriteľné a od aplikácií HTTP sa nevyžaduje, aby rozumeli významu všetkých zaregistrovaných stavových kódov. Zoznam všetkých stavových kódov je uvedený v samostatnej kapitole pre vašu referenciu.
Polia hlavičky odpovede
General-header a Entity-header budeme študovať v samostatnej kapitole, keď sa naučíme polia HTTP hlavičky. Teraz sa pozrime, čo sú polia hlavičky odpovede.
Polia hlavičky odpovede umožňujú serveru odovzdať dodatočné informácie o odpovedi, ktoré nemožno umiestniť do stavového riadka. Tieto polia hlavičky poskytujú informácie o serveri a o ďalšom prístupe k zdroju identifikovanému pomocou URI požiadavky.
-
Autentifikácia proxy
-
WWW-Autentifikácia
Môžete zaviesť svoje vlastné polia v prípade, že sa chystáte napísať vlastného webového klienta a servera.
Príklady správy s odpoveďou
Teraz to spojme, aby sme vytvorili odpoveď HTTP na požiadavku na načítanie ahoj.htm stránku z webového servera spusteného na lokalite
HTTP/1.1 200 OK Dátum: Po, 27. júl 2009 12:28:53 GMT Server: Apache/2.2.14 (Win32) Posledná úprava: Streda, 22. júl 2009 19:15:56 GMT Obsah-Dĺžka: 88 Obsah- Typ: text/html Pripojenie: Uzavreté
Ahoj svet!
Nasledujúci príklad zobrazuje správu s odpoveďou HTTP, ktorá zobrazuje chybový stav, keď webový server nemôže nájsť požadovanú stránku:
HTTP/1.1 404 Not Found Date: Ne, 18. október 2012 10:36:20 GMT Server: Apache/2.2.14 (Win32) Content-Length: 230 Connection: Closed Content-Type: text/html; charset=iso-8859-1
404 nenájdené
nenájdené
Požadovaná adresa URL /t.html sa na tomto serveri nenašla.
Nasleduje príklad správy s odpoveďou HTTP, ktorá zobrazuje chybový stav, keď webový server narazí na nesprávnu verziu HTTP v danej požiadavke HTTP:
HTTP/1.1 400 Bad Request Date: Ne, 18. október 2012 10:36:20 GMT Server: Apache/2.2.14 (Win32) Content-Length: 230 Content-Type: text/html; charset=iso-8859-1
400 Zlá požiadavka
Zlá požiadavka
Váš prehliadač odoslal požiadavku, ktorej tento server nerozumel.
Riadok požiadavky obsahoval neplatné znaky za reťazcom protokolu.
Načítava...
Hore