Strony WWW stwarzają możliwość interakcji użytkownika z aplikacją na serwerze. Interakcyjność stron można realizować różnymi metodami: stosując techniki komponentowe (miniaplikacje przesyłane ze stronami na przeglądarkę i tam wykonywane), takie jak aplety Javy i kontrolki ActiveX, skrypty CGI, interfejsy programowe API. Do tworzenia formularzy stosuje się przeważnie skrypty CGI. Formularz, którego szkielet jest zapisany w HTML, jest wypełniany przez użytkownika i odsyłany na serwer do przetworzenia. W przypadku skryptów CGI zawartość wypełnionego na przeglądarce formularza jest przesyłana na serwer do przetworzenia. Skrypty CGI stanowią pewien interfejs między przeglądarką a innymi programami, takimi jak na przykład bazy danych. Głównym ich zadaniem jest ustanowienie sekwencji operacji niezbędnych do wykonania, w celu kontaktu z innym programem i odpowiedniej konwersji danych. Skrypty CGI cechuje duża elastyczność, ale też każda operacja wykonana przez CGI wymaga napisania jakiegoś kawałka programu. Do tego celu można używać zarówno języka C++, jak i Javy.
Formularze HTML są stosowane do zbierania informacji od użytkowników stron WWW, pobierania danych z serwerów, ustawiania kolejności procesów itp. Pozwalają one użytkownikom na wprowadzanie danych na strony WWW. Każdy formularz zawiera pola, do których użytkownik wprowadza dane. Dokument HTML zawierający formularz ma także łącznik do skryptu CGI. Każde pole formularza musi być nazwane w celu identyfikacji i odniesienia wartości. Od strony przeglądarki formularz składa się z dwóch zasadniczych elementów: dokumentu HTML i łącznika do skryptu CGI. Do utworzenia formularza w dokumencie HTML służy para wyróżników: <FORM> i </FORM>. Łącznik do skryptu jest typowym łącznikiem HTML określającym ścieżkę do programu realizującego skrypt CGI.
Do tworzenia pól wejściowych używa się wyróżnika <INPUT> z atrybutami TYPE i NAME, definiującymi typ i nazwę pola. Natomiast wyróżnik <SELECT> służy do określania pól, których wartości wybierane są z listy.