Che cos'è il formato di file INC?
Un file .inc nel contesto web è un frammento HTML progettato per essere inserito in altre pagine da un server web tramite i Server Side Includes (SSI). L'SSI ha avuto origine intorno al 1994 con il server NCSA HTTPd; il modulo mod_include di Apache è diventato in seguito l'implementazione dominante e rimane mantenuto in Apache 2.4.x.
Il server web elabora le direttive SSI scritte nella sintassi dei commenti HTML - ad esempio <!--#include virtual="/header.inc" --> - e sostituisce il frammento nella risposta assemblata prima di inviarla al browser. Il browser non riceve mai direttamente il file .inc; vede solo l'output HTML unito.
Gli utilizzi tipici sono elementi riutilizzabili a livello di sito come intestazioni di pagina, piè di pagina e barre di navigazione. Poiché ogni modifica al file .inc si propaga istantaneamente a ogni pagina che lo include, l'SSI offriva una forma primitiva di templating lato server prima che il PHP e altri linguaggi di scripting diventassero standard.
L'estensione .inc è una convenzione senza un formato obbligatorio: la stessa estensione è utilizzata anche dai file include di PHP, dai file include dell'assembler e dai frammenti di codice sorgente Delphi/Pascal. Un file .inc destinato all'SSI è testo semplice UTF-8 o ASCII - un frammento HTML senza i wrapper <html>, <head> o <body>. L'SSI è ampiamente obsoleto per i nuovi progetti, sostituito da include/require di PHP, motori di template come Jinja2 e Twig, e generatori di siti statici come Jekyll o Hugo.
Sicurezza e incolumità
RISCHIO: LOWUn file .inc è testo semplice - non contiene codice binario eseguibile e non è di per sé un vettore di malware. Tuttavia, un file .inc contenente codice PHP o SSI elaborato da un server viene eseguito sul server; un file .inc creato con intenti malevoli con codice lato server potrebbe causare danni se caricato su un server e incluso. Come file scaricato e aperto in un editor di testo: sicuro. Il rischio principale è un server web configurato in modo errato per servire direttamente i file .inc (esponendo ad esempio le credenziali del database in un config.inc).
Dettagli del formato
in sintesi- File Include PHP - Gli sviluppatori PHP chiamano comunemente i frammenti di codice PHP inclusi con l'estensione .inc (es. config.inc, db.inc); elaborati lato server da PHP, non vengono mai serviti direttamente ai browser.
- File Include Assembler/Pascal/Delphi - Molti linguaggi di programmazione (x86 assembler NASM/MASM, Pascal/Delphi, Fortran) usano .inc per i file include contenenti costanti, macro o dichiarazioni condivise.
- Include dati Gioco/Motore - I motori di gioco, tra cui GZDoom (DECORATE/ZScript), Quake/Source engine e AutoHotkey, utilizzano .inc per frammenti di dati o script inclusi in script più grandi.
Programmi che aprono file INC
Dettagli tecnici
specifiche approfondite| Tipo di file | Testo semplice - frammento HTML (contenuto parziale della pagina senza wrapper strutturali) |
| Tipo MIME | text/html (primario); text/plain (alternativo) |
| Codifica | UTF-8 o ASCII - corrisponde alla codifica della pagina includente |
| Compressione | Nessuna - testo semplice non compresso |
| Crittografia | Nessuna - accesso controllato a livello di server web, non del file |
| Dimensione tipica | Sotto i 10 KB (frammento HTML riutilizzabile come un'intestazione o un piè di pagina del sito) |
| Magic bytes | Nessuno - file di testo semplice senza firma binaria |
| Sintassi direttiva SSI | Sintassi dei commenti HTML: <!--#include virtual="/percorso/file" --> o <!--#include file="percorso/relativo" --> |
| Elaborazione server | Apache mod_include o Nginx ngx_http_ssi_module elaborano le direttive e iniettano il frammento prima di inviare la risposta al browser |
| Visibilità browser | Il browser non riceve mai direttamente il file .inc - riceve solo la risposta HTML completamente assemblata |
| Supporto IIS | Supportato tramite il modulo IIS Server Side Includes (SSINC) su Windows |
| OS associato | Linux, Windows, macOS (qualsiasi sistema operativo che ospiti Apache, Nginx o IIS) |
| Usi comuni | Intestazioni, piè di pagina e barre di navigazione a livello di sito - frammenti HTML riutilizzati in più pagine |
| Sostituito da | PHP include/require, Jinja2, Twig e generatori di siti statici (Jekyll, Hugo, Next.js) per nuovi sviluppi |
| Rilasciato | ~1994 (NCSA HTTPd server includes); Apache adopted and extended |
| Ultima versione | N/A - SSI is a static web technology; Apache mod_include still maintained in Apache 2.4.x |
| Standard aperto | Sì · royalty-free |
| Specifica | httpd.apache.org |
Conversioni INC
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file INC.