A packet filter inspects each packet against an access control list of source IP, destination IP, source port, destination port and protocol. The original 1988 DEC SEAL and the Cisco IOS access lists of the early 1990s are packet filters. They are stateless: the firewall does not know that packet 2 is part of the same conversation as packet 1, so the operator must write a return-path rule for every outbound rule. Stateless filters are still appropriate at very high speeds (BGP-edge ACLs, DDoS scrubbing fronts) where state tracking is too expensive.
Stateful packet inspection, introduced commercially by Check Point FireWall-1 in 1994, tracks the TCP state machine. The firewall sees the SYN, records the 5-tuple plus initial sequence number in a connection table, and permits the matching SYN-ACK and subsequent ACKed segments without re-evaluating the rule base. For UDP, which has no connection state in the protocol, the firewall uses idle timers as a proxy for state. SPI is the baseline for every production perimeter.
Application-layer firewalls, also called proxy firewalls, terminate the connection at the firewall, parse the application protocol (HTTP, SMTP, FTP), and reconstruct a new connection to the destination. The 1990s WinGate and the Squid HTTP proxy are the classic examples. The cost is latency and per-protocol code; the gain is full visibility into the application payload.
Next-generation firewalls combine SPI, application identification (App-ID in Palo Alto, FortiGuard in Fortinet), integrated IPS signatures, TLS inspection (the firewall acts as a controlled man-in-the-middle with a trusted-by-endpoint CA), user-identity mapping from Active Directory or LDAP, and threat-intel-fed URL and IP reputation. Web Application Firewalls are a specialised subset focused on HTTP and HTTPS at Layer 7, with rule sets like the OWASP ModSecurity Core Rule Set, AWS WAF managed rules, or Cloudflare's managed rule packs.
| Class | State tracking | App awareness | TLS inspection |
|---|