life, redefined.

About this site

Objective-C.

Posts I like

More liked posts

Showing 1 post tagged http

HTTP 300

Uma das coisas que aguardo ansiosamente é a “descoberta” do HTTP 300 pelos pseudo-webdesigers, SEOs e coisas do tipo. Para quem não leu especificação de HTTP e simplesmente aprende o que o Google diz que é certo, o código 300 indica que uma URI tem vários documentos que podem ser entregues utilizando aquele endereço. Exemplos de utilização :

  • Download de arquivos em múltiplos formatos : Imagine que você clique para baixar um arquivo qualquer. Caso você tenha Excel instalado, ele irá enviar um arquivo com extensão .xls, ou um CSV em caso contrário. Ou, preferencialmente mandar um arquivo compactado na seguinte ordem : 7z, rar, tar.bz2, zip, sem que você tenha que passar por perguntas como : “qual formato deseja?”;

  • HTML/CSS otimizados pra plataforma : Ao invés das soluções porcas de detecção de navegador e recursos do mesmo, seria muito mais simples o navegador ter opção de escolher qual documento renderizar. Assim, a migração de um mundo HTML pra HTML 5 seria mais tranquila, e sem maiores dores de cabeça pro usuário (nada de http://site e http://site/html5 só pra você dizer que sabe algo de HTML5);

  • Imagens: Talvez uma das aplicações mais interessantes. Não vivemos mais num mundo onde monitores tem 72dpi, principalmente com celulares com 300dpi (iPhone 4, na época de criação desse texto). Seria excelente ter imagens de maior resolução caso estivéssemos numa tela de maior densidade de pixels, ou uma imagem de qualidade menor caso a conexão de internet seja de baixa velocidade / alta latência. Além disso, o sistema poderia retornar gráficos SVG caso o UA suporte, ao invés de PNGs, GIFs ou JPEGs;

  • Vídeos: Com a tag video e a briga besta entre h.264, WebM e Adobe Flash, ao invés de um script para detectar qual codec o UA suporta, a negociação seria automática, sem necessidade de alterações nas páginas.

Como pode notar, uma implementação correta de HTTP 300 resolveria alguns problemas de hoje sem necessidade de hacks em HTML/CSS/Javascript, simplificando a criação de páginas.