2010-11-04 34 views
0

Je suppose que le navigateur contacte le serveur Web et demande le "src" (dans les situations où il y a quelque chose à src).Comment l'étiquette <script> est-elle gérée au niveau de la machine?

Cette interaction peut-elle être contrôlée de quelque façon que ce soit? Combien d'informations sont disponibles sur le serveur pour savoir qui veut le src et quand?

Alternativement, pourrait-on délibérément 404 la demande, puis contrôler le mécanisme 404 pour répondre de façon appropriée?

Répondre

1

Si vous voulez générer dynamiquement du javascript, inutile.

Le navigateur ne se soucie pas de l'URL de l'attribut src="" - il ne doit certainement pas se terminer par .js. L'important est que quelle que soit l'URL, elle doit retourner son contenu avec le type de contenu application/javascript.

Donc, la chose la plus simple à faire est de mettre le chemin vers un PHP (si c'est ce que vous utilisez) fichier et juste faire en sorte que ce qui est retourné est valide Javascript, envoyé avec un en-tête correct Content-Type HTTP

0

Les scripts spécifiés via un attribut src sont traités comme n'importe quelle autre ressource sur une page. Si vous renvoyez un code 404, le navigateur ne prendra pas la peine d'essayer de traiter davantage le serveur pour cette ressource. Le serveur obtient toutes les informations de requête HTTP habituelles (en supposant que le navigateur l'envoie normalement) et l'en-tête Referrer: est défini sur la page qui inclut la ressource. Ne pas déranger avec la manipulation 404 pour cela.

+0

Certains serveurs web autoriser les gestionnaires personnalisés 404. C'est ce dont je parle dans le dernier paragraphe. – bugmagnet

+0

Bien sûr, pourquoi ne pas stocker l'ensemble de votre site Web dans un gestionnaire 404? –

+0

@boost: Oui, mais ils retourneront toujours un code 404. – Amber