I'm confused because it looks for me like different sources says different things, I don't really understand it:
The "layer" refers to a design choice to introduce a new optimized encoding mechanism between the socket interface and the higher HTTP API exposed to our applications: the HTTP semantics, such as verbs, methods, and headers, are unaffected, but the way they are encoded while in transit is what’s different. Unlike the newline delimited plaintext HTTP/1.x protocol, all HTTP/2 communication is split into smaller messages and frames, each of which is encoded in binary format. As a result, both client and server must use the new binary encoding mechanism to understand each other: an HTTP/1.x client won’t understand an HTTP/2 only server, and vice versa.
it's possible for an HTTP/2-capable client to send an HTTP/2 request to a server. However, if the server only supports HTTP/1.1 and doesn't understand HTTP/2, it will respond with an HTTP/1.1 response. This situation can occur when a client attempts to use the newer HTTP/2 protocol with a server that hasn't yet adopted it.
I learned that they have different formats of data: HTTP 1.1 contains text while HTTP 2 contains binary data. I tried to google it and even tried to translate it because English is not my native language.
I also found this What if an HTTP/1.1 client talk to an HTTP/2 only server and what if an HTTP/2 client talk to an HTTP/1.1 only server?
Also there are frames and table for headers compression in HTTP2