Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 2.833 pregleda

Najnovija ↓

Kako da dodam novo polje u HttpHeader? 10.04.2005. u 01:20 · pre 262 meseca #1
Zelim da dodam novo polje u header i to uradim ovako: this.Response.AddHeader("fieldname", "value"); kada posle ove komande uradim redirekciju na novu stranu i probam da procitam parametar koji sam ubacio u header ne dobijem nista: this.Request.Headers.Get("fieldname") ne daje nista. Moze li mi iko pomoci da resim ovaj problem.

hvala gorann
Potpis
gnastic
Re: Kako da dodam novo polje u HttpHeader? 11.04.2005. u 15:35 · pre 262 meseca #2
Imaš lošu predstavu o tome šta je HTTP header :) To nisu podaci koje možeš da šetaš tamo-vamo, to su instrukcije usputnim proxy serverima i krajnjem klijentu (browseru).

Ako hoćeš da ti se nešto vrati nazad, ili ga stavi u hidden input polje, ili koristi cookie.
Napomena, redirekcija ti nece vratiti sadržaj hidden polja, morao bi da uradiš submit sa klijent strane.


Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: Kako da dodam novo polje u HttpHeader? 12.04.2005. u 09:06 · pre 262 meseca #3
E pa za pocetak da razjasnim sta ja hocu? Dakle, funkcija this.Request.UserAgent() vraca tip browsera koji koristi klijent, zar time ne uzimam vrednost parametra User-Agent iz Http header-a? Ili this.Request.Headers.Get("User-Agent") sto daje isti rezultat. Ako isprintas header na stranici u browser-u videces da je "User-Agent" jedan od parametara http-headera. Ako hocu npr. ime hosta sa koga dolazi zahtev web serveru lepo uradim this.Request.UserHostName() ili this.Request.Headers.Get("Host");. Sve ovo govori da header nije obicna gomila teksta. Ja hocu da u header ubacim field koji ce se zvati npr. pera i imati vrednost 50 i da to prosledim gateway-u ili proxiy-u koji ce na osnovu toga preduzimati odgovarajuce akcije. Za to se, kako mi se cini, koristi objekat Response.

Prema tome, ja bas hocu da se server obraca proxiy-u to je moj cilj a ne da pomocu hiden polja hvatam sta je klijent browser-a poslao serveru. Klijent nije u ovoj prici ( ne klasican klijent ) vec proxy server koga u neku ruku mozemo smatrati klijentom.
MOJA IDEJA JE DA U HEADER-U SA SERVERA PROSLEDIM PARAMETAR ILI POLJE PROXIY-u.

Potpis
gnastic
Re: Kako da dodam novo polje u HttpHeader? 12.04.2005. u 13:59 · pre 262 meseca #4
Iskreno, uneo si više zabune nego razjašnjenja. Ajd da probam da raščlanim ovo:

1. Hoćeš da proslediš komandu proxy-u. Http header jeste pravo mesto za to.
2. Uradiš Response.Redirect na Form2.aspx (na primer)
3. Očekuješ da u WebForm2.aspx codebihend možeš da očitaš vrednost koju si ubacio u Response.Headers?

Evo zašto ovo ne radi:
1. Nalaziš se na webform1
2. Dodao si "pera" u Response.Header
3. Uradio si Response.Redirect
4. U tom trenutku, renderovanje stranice se blokira, asp.net ubacuje status 302 Redirect u header i taj response, uključujući i pera i redirect ide nazad u proxy, i nazad na klijenta. Ako "pera" nešto znači proxy-u, proxy će to videti.
5. Kao odgovor na status 302, klijent izdaje novi request za webform2 i šalje NOVI set hedera proxy-u, koji doda svoje informacije (obično VIA heder) i pošalje serveru
6. codebehind webform2-a ne vidi "pera" zato što ga ni klijent ni proxy nisu ubacili.

Pretpostavljam da te zbunjuje to što i u request i u response postoje hederi. ali u requestu su hederi koje je kreirao klijent (i proxy) kao instrukcije serveru, tj. objašenjenje serveru sa kim ima posla, koji browser, koji je encoding request-a, koji tipovi odgovora su prihvatljivi, itd. Response hederi su instrukcije klijentu (i usputnom proxy-u) od strane servera i server ih kreira, tu su expiration sadržaja, zahtev za authentikacijom, itd. Format im je isti, ali im je funkcija drugačija.

U krajnjoj liniji, laički rečeno, http hederi putuju samo u JEDNOM pravcu. Tehnički, po standardu, oni su takođe immutable, tj. usputni proxy i gateway serveri ne bi smeli da ih menjaju, mogu samo da dodaju extra informacije. Ti možeš na serveru da očitaš sve request hedere i da ih repliciraš u response (mada ne vidim neke koristi), ali browser to sigurno neće uraditi u drugom smeru. ;)
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme