Sobes.tech
Middle

Does a GET request have a body? How does GET transmit parameters? What are Content-Type and Accept, and how do they differ?

sobes.tech AI

Answer from AI

GET requests according to the HTTP standard usually do not have a body. Although technically HTTP/1.1 does not prohibit a body in a GET request, in practice most servers and libraries do not expect or process a body in GET requests.

Parameters in a GET request are passed via the URL, usually in the query string after the question mark ?. For example:

GET /search?q=example&lang=en HTTP/1.1

Here, q=example and lang=en are query parameters.

Content-Type is an HTTP request or response header indicating the media type of the message body. For example, Content-Type: application/json indicates that the request or response body contains JSON.

Accept is a request header that tells the server what content types the client is willing to accept in response. For example, Accept: application/json means the client expects to receive JSON.

Difference:

  • Content-Type describes the format of the current message body (request or response).
  • Accept describes the client's preferences for the response format from the server.

Example:

POST /api/data HTTP/1.1
Content-Type: application/json
Accept: application/xml

{"name": "Ivan"}

Here, the client sends JSON and wants to receive XML in response.

Does a GET request have a body? How does GET transmit… - sobes.tech