Como tornar HTTP PUT o inverso de GET?

1

Eu gostaria de dizer ao Apache para tratar um HTTP PUT como o inverso de GET. O servidor deve armazenar o arquivo enviado com PUT naquele local, onde um arquivo seria lido por uma solicitação GET contendo o mesmo local.

Eu encontrei apenas exemplos para HTTP PUT, que requerem scripts CGI ou PHP e mod_put parece estar morto. Primeiro eu gostaria de evitar scripts: CGI por causa de Shellshock e PHP por causa de PHP . E segundo, mesmo se eu tentasse escrever algum CGI, não estou ciente do mapeamento do diretório de localização do Apache no CGI. Eu não sei como mapear a localização da URL para um caminho no sistema de arquivos dessa maneira, que o Apache executaria o inverso durante um GET.

Como implementar um HTTP PUT sendo exatamente o inverso de um GET sem qualquer mecanismo CGI ou script?

    
por ceving 14.10.2014 / 15:12

1 resposta

2

O núcleo do apache tem o recurso para lidar com solicitações PUT, mas infelizmente isso só pode encaminhar a solicitação para alguns de seus módulos manipuladores (por exemplo, PHP ou para um script cgi).

Para o recurso que você tem, esse recurso PUT também precisou ser implementado em um módulo do apache. Os módulos do apache são as mesmas coisas que os servlets java ou scripts cgi: eles recebem solicitações http, processam-nos e retornam os resultados.

Infelizmente, o módulo do apache com possivelmente uma função de upload de arquivos por pedidos PUT, simplesmente não foi desenvolvido. Devo mencionar: mesmo você poderia fazer isso, embora a interface do apache não seja a mais bonita que já vi, é possível e não foi um trabalho realmente grande. Mas isso não foi feito. Ou o módulo mod_put pode ser revivido. Eu poderia fazer isso em uma semana, mas ninguém me paga para fazer isso, ou eu não tenho uma semana livre para o trabalho. Todo programador do mundo disse o mesmo, se você pudesse perguntar a eles.

Existem muitas ferramentas / módulos com recursos muito semelhantes em termos arbitrários, especialmente o WebDAV, que foram muito interessantes para você. Com eles, você pode alcançá-los, embora eles não estejam funcionando por PUT, mas com consultas POST multipartidas. E o WebDAV é um exagero porque usa o processamento xml difícil (e quase desnecessário) mesmo para tarefas simples.

    
por 14.10.2014 / 16:39

Tags