Imagens dinâmicas exibidas por HTTPS exibem imagens quebradas em palavras ao abrir um documento HTTP

5

Temos um aplicativo que produz documentos HTML que o usuário abre em uma palavra do servidor da Web, para que eles sejam abertos:

link

Esse documento contém links de imagens como:

<img src="https://ourserver/ourapp/resources/image.jpg">

e

<imgsrc="https://ourserver/ourapp/imagegenerator.aspx?some=querystring">

A primeira exibição, a segunda exibe o ícone clássico da imagem quebrada.

Ao abrir no Internet Explorer, ambos renderizam.

Ao rastrear com o Fiddler, as duas imagens são retornadas corretamente.

Alterando o segundo exemplo para:

<img src="http://ourserver/ourapp/imagegenerator.aspx?some=querystring">

Ele exibe.

No entanto, em algumas palavras instaladas no escritório, ambas são exibidas.

Quais configurações onde deveríamos estar procurando entender por que a palavra 3d hotfix mais recente instalada em uma instalação atualizada do Windows 7 corrigida deve ser diferente entre a minha máquina e um colega para a exibição desses itens?

    
por THEMike 23.03.2011 / 17:17

1 resposta

3

O problema aqui é a maneira como o IE armazena em cache o conteúdo SSL ou não.

Se você ativar a opção do IE "Não armazenar em cache as páginas criptografadas em disco", o problema desaparece.

Você também pode corrigir programaticamente em sua página de geração de imagem, NÃO enviando um cabeçalho de controle de cache.

A questão é que a maneira como o IE trabalha com páginas servidas por SSL é criar um arquivo de 0byte no disco como um ponteiro para a memória volátil onde a imagem real é armazenada. Então o IE cria o arquivo no disco, quando ele busca a imagem. Mas a memória e o arquivo são presumivelmente destruídos quando a palavra da instância do IE usou para recuperar o HTML e os recursos vinculados foram concluídos.

Então, quando o mecanismo de renderização de palavras tenta exibir o conteúdo, ele desaparece.

Se você não definir uma diretiva de controle de cache, OU você definir a opção do IE, então isso não é um problema.

    
por 24.03.2011 / 11:53