Jump to content
Gonçalo_ssb

Protecção de Pastas do site

Recommended Posts

IceBrain

Se não carregares no botão o recurso não é criado e como tal continua a devolver o 404... Não estou a ver como viste isso do 200 com a mensagem a dizer que a página não existe, porque eu não vejo.

Só devolve 200 caso carregues no botão que despoleta o GET para criar o recurso...

A mim a wiki do próprio TRAC devolve, mas esquece o que eu disse. Vamos rever:
O MediaWiki, com a resposta ao qual te responde o 404 envia um formulário para criares a nova página e com isso faz um POST

Não. A MediaWiki devolve uma página com um link para o formulário. Exactamente como TRAC, só que a UI é diferente.

E esse link (no mediawiki) ou botão (no TRAC) não criam realmente o recurso; se carregares no botão e voltares à página, ele continua a dizer que ela não existe.

Porquê? Porque o recurso só é criado quando há um POST do formulário.

A página do formulário devolve 200 porque aí o recurso não é a "página XPTO", mas o "editor de páginas". São recursos diferentes.

As I said, recurso não existe, deve-se devolver 404. GET não deve ser usado para criar recursos.

Nem a MediaWiki nem o TRAC quebram estas regras.

Não sei se o 201 deveria aparecer apenas quando se faz a submissão do formulário da página criada... Pois só nessa altura é que se termina a criação do recurso.

Certo.

❝The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.❞- John Carmack on software patents

A list  of command line apps

Share this post


Link to post
Share on other sites
falco
Não. A MediaWiki devolve uma página com um link para o formulário. Exactamente como TRAC, só que a UI é diferente.

Não, não é a mesma coisa. O TRAC devolve um formulário em que a única coisa que tem é o botão que faz um GET para uma página onde há um formulário para criar uma página no wiki. O MediaWiki, devolve logo todo o formulário onde é criada a nova página do wiki. No TRAC para criar uma nova página há dois GET e um POST, no MediaWiki é um GET e um POST. Logo não é a mesma coisa.

E esse link (no mediawiki) ou botão (no TRAC) não criam realmente o recurso; se carregares no botão e voltares à página, ele continua a dizer que ela não existe.

No MediaWiki não existe o botão que inicia o processo de criação da página do wiki, o formulário para criação da página de wiki vem logo quando a resposta ao primeiro GET (aquele que tem o 404).

No TRAC (como eu já tinha dito), o processo de criação do recurso é iniciado quando se carrega no botão de criar a nova página, mas só é terminado quando é submetido o wikimarkup, ou seja, quando é feito o POST (terceiro passo).

3 passos e 2 passos não são a mesma coisa, neste caso.

A página do formulário devolve 200 porque aí o recurso não é a "página XPTO", mas o "editor de páginas". São recursos diferentes.

Se fosse o recurso editor de páginas, então estou convencido que a resposta teria que ser outra que não o 200, e talvez tivesse que por exemplo haver um redireccionamento.

A minha opinião é que o recurso que corresponde à página pedida passou a existir de forma temporária e que só é criado definitivamente quando é feito o POST (e daí deveria de facto receber um 201, que por acaso nem verifiquei se recebia). Mas não considero a tua perspectiva errada, acho que é apenas uma forma válida e diferente de ver a mesma coisa.

E já agora o tal editor de páginas é um bom exemplo de um dos handlers que referi anteriormente.

Share this post


Link to post
Share on other sites
IceBrain
Não, não é a mesma coisa. O TRAC devolve um formulário em que a única coisa que tem é o botão que faz um GET para uma página onde há um formulário para criar uma página no wiki. O MediaWiki, devolve logo todo o formulário onde é criada a nova página do wiki. No TRAC para criar uma nova página há dois GET e um POST, no MediaWiki é um GET e um POST. Logo não é a mesma coisa.

Não. A MediaWiki devolve um link para o formulário.

http://en.wikipedia.org/wiki/Naoexiste ← onde está o formulário? Só se fizeres um segundo GET, carregando no link "Start the Naoexiste article".

Exactamente como o TRAC, com uma UI diferente.

No MediaWiki não existe o botão que inicia o processo de criação da página do wiki, o formulário para criação da página de wiki vem logo quando a resposta ao primeiro GET (aquele que tem o 404).

No TRAC (como eu já tinha dito), o processo de criação do recurso é iniciado quando se carrega no botão de criar a nova página, mas só é terminado quando é submetido o wikimarkup, ou seja, quando é feito o POST (terceiro passo).

3 passos e 2 passos não são a mesma coisa, neste caso.

Ver acima.

Se fosse o recurso editor de páginas, então estou convencido que a resposta teria que ser outra que não o 200, e talvez tivesse que por exemplo haver um redireccionamento.

Não, a página do link errado não existe, logo devolve 404. Quando carregas no botão, pedes um recurso diferente, que é o editor. Esse existe, logo devolve 200.

A minha opinião é que o recurso que corresponde à página pedida passou a existir de forma temporária e que só é criado definitivamente quando é feito o POST (e daí deveria de facto receber um 201, que por acaso nem verifiquei se recebia). Mas não considero a tua perspectiva errada, acho que é apenas uma forma válida e diferente de ver a mesma coisa.

Mas se existe depois de carregares no botão mas antes do POST, porque é que continua a dizer que não existe? Poderia existir, mas na realidade o TRAC diz que não. E bem, visto que o pedido GET do botão nem sequer é à página, é ao recurso "editor".

E já agora o tal editor de páginas é um bom exemplo de um dos handlers que referi anteriormente.

O que não implica que não se devolva 404, com ou sem handlers.


❝The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.❞- John Carmack on software patents

A list  of command line apps

Share this post


Link to post
Share on other sites
falco
Não. A MediaWiki devolve um link para o formulário.

http://en.wikipedia.org/wiki/Naoexiste ← onde está o formulário? Só se fizeres um segundo GET, carregando no link "Start the Naoexiste article".

Exactamente como o TRAC, com uma UI diferente.

Tens razão, devo ter baralhado tabs, ou coisa assim.

Não, a página do link errado não existe, logo devolve 404. Quando carregas no botão, pedes um recurso diferente, que é o editor. Esse existe, logo devolve 200.

Tens razão!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.