I frame sono una estensione dell' HTML per permettere di vedere parecchi documenti in sotto-finestre autonome separate, all'interno di una finestra di un browser. Senza frame, il browser fa vedere una pagina che riempie l'intera finestra e se la pagina è troppo larga per adattarsi alla finestra, si vedono delle barre di scorrimento per permettere all'utente di vederne il contenuto. Quando collegate un'altra pagina, l'intera finestra viene aggiornata con i contenuti di quella pagina.
Con una pagina che si basa su frame, la finestra di un browser viene suddivisa in aree separate, dette frame, e queste si comportano come finestre indipendenti. Se il contenuto è troppo grande per stare in un frame, si possono vedere le barre di scorrimento per permettere al visitatore di scorrere ogni frame indipendentemente da altri frame.
Concettualmente il modo di operare delle pagine che si basano su frame è abbastanza semplice.
Quando il visitatore si collega ad una pagina che si basa su frame, viene caricata una definizione dei frame che dice ai browser come suddividere la finestra in frame separati e fornisce le informazioni sulle proprietà di ogni frame, come, ad esempio, se è scorrevole e se è possibile modificarne le dimensioni.
Da quel momento in poi il browser si comporta come se ogni frame fosse una finestra separata. Ci sono ancora alcune piccole estensioni all'HTML standard per permettere che il contenuto di un frame influisca sul contenuto di un altro frame.
L'utilizzo più comune dei frame è il fornire barre di navigazione statiche che rimangono visibili anche quando il testo principale della pagina ha subito uno scorrimento o è cambiato.
Ad esempio, una pagina basata su frame, permette al progettista del sito di porre pulsanti lungo la parte alta della finestra, collegamenti in una barra alla sinistra della pagina o entrambi, contemporaneamente, mentre l'utente può scorrere nell'area principale:
