HTTP headers

Web programeri - interesuje me do koje mjere se mogu kontrolisati vrijednosti http header-a (kako request tako i response ) ? Iz mog skromnog poznavanja PHP-a, znam da je moguće kontrolisati response headere ? Šta je sa klijentskom stranom ? I koliko stvari prepuštate default vrijednostima, a koliko sami podešavate parametre ?

Evo da sam sebi odgovorim - na klijentskoj strani je praktično nemoguće mijenjati HTTP headers ( browser to ne dozvoljava - mislim na request messages ) a na serverskoj se to podrazumijeva jer se tamo i kreiraju (response headers).

Ako ti hoces neke custom headere prosljediti mozes koristiti telnet. Ali to je za testne svrhe. Inace HTTP headeri nisu namjenjeni da korisnik cacka oko toga, a na serverskoj strani se ostavi po defaultu, jedino mozes dodavati neke dodatne headere pa ih citati na serveru ako imas neku posebnu client aplikaciju.

Server se moze “pretvarati” da su mu dosli kakvi god hoces headeri u requestu (tj. ignorisati one koje je poslao browser) te moze generisati kakve god hoces response headere, a kod klijenta (browsera) je moguce mijenjati request headere ukoliko je rijec o asinhronom pozivu (xmlhttprequest) …

Postoji i više browser ekstenzija koje dozvoljavaju igranje sa headerima. Dakle nije baš ispravno reći “praktično nemoguće”, ustvari ne treba se nipošto osloniti na vrijednosti headera kao nekakav sigurnosni mehanizam nego ih koristiti čisto kao informaciju.
http://modifyheaders.mozdev.org/
BTW odgovorio bih ranije ali mi je postavljeno pitanje bilo totalno nejasno.

Ma generalno pravilo je ne vjerovati NICEMU sto dolazi s klijentske strane. Sve se moze promijeniti. Ja sam shvatio da OP pita mogu li se ti headeri mijenjati iz razloga sto zeli da neke stvari promijeni u svom kodu a ne sa sigurnosnog aspekta.

Izvinjavam se ako sam bio nejasan. A pitanje nije vezano za sigurnost, već upravo za mogućnost kontrole headera na jednoj ili drugoj strani ( front ili back ).