When was the http status code sent?

what I already know is that the http status code is sent to the client after the server sends the data.
for a http request, the client sends the HTTP request after the three-way handshake (TCP), and the server sends TCP fragments in response to the request (TCP),. When the data is sent, a 200status code is sent.
but when I grabbed packets with wireShark today, I found that
status codes (such as 200s) are not necessarily sent in HTTP messages, but may also be sent in TCP messages, and then there will be a HTTP message without status codes.
when I ask the question: why is the status code possible in the TCP message or in the HTTP message, and the order in the message is not fixed?
Screenshot is as follows:

Mar.03,2021

generally speaking, the HTTP protocol is based on the application layer protocol over the TCP/IP transport layer protocol, and it can only be implemented after the TCP connection is established.

you see both TCP, and HTTP, in wireshark, which is a feature of wireshark, which can display multiple different levels of protocols at the same time.
can view individual protocols by setting display filters, for example, http shows only HTTP protocols, just as tcp shows TCP protocols.

MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b31deb-40358.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b31deb-40358.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?