The script tag is not an empty (open) tag because sometimes it contains content (Javascript code), but the meta tag never does.
There are two ways to place Javascript on a web page. The first method includes an external file:
<script src="path/to/my/script.js"></script>
The second way is to place Javascript right inside the HTML file, for example:
<script> Javascript goes here </script>
Therefore, sometimes the script must have content. But the meta tag, on the other hand, should only provide a small amount of information about the current page, so an empty tag is enough.
source share