Re: Change language. POST or GET

Carlos Tejo Alonso wrote:
>  >> Maybe I have express myself wrong. I will try again with an example:
>  >> I am abroad, using a shared pc with arabic language as default. I 
>  >> send a
>  >> request to the URL http://www.example.org/doc. By content 
>  >> negociation, a
>  >> server will response with a page written in arabic. In that moment, I
>  >> want to change the language of the content, and the return page 
>  >> should
>  >> be again http://www.example.org/doc.
>  >> What would be the correct approach ?
>  >> - a link that invokes a HTTP GET method
>  >> - a button that invokes a HTTP POST method
>  >
>  > It seems to be that you're changing the state of the server, thus 
>  > GET would be incorrect.
> 
> I disagree.  The Accept-Language: header is responded to in the reply 
> to the GET
> request containing it and does not alter state on the server.  The 
> server is
> ready on the next hit from anyone to provide the same range of 
> languages as on
> this hit.  With the same server defaults, not defaulting to the last 
> request
> satisfied.

You didn't tell us before that sessions are in use.

But anyway, you're changing state, so GET is the wrong thing to do here.

> If you click on the flag of your national language on a site to get that
> language version, that is changing the state of your session, yes.
> 
> ---
> 
> That's the problem: the way to interprete it. I am looking for a 
> normative answer from W3C, but I haven't found yet anything in the 
> documentation about it.

You can't get a "normative" answer from the W3C. First of all, the W3C 
isn't in charge (HTTP/1.1 is an IETF specification). So, what's relevant 
is what RFC2616 has to say about GET.

BR, Julian

Received on Tuesday, 23 December 2008 18:43:11 UTC