Jordan
Jordan

Reputation: 1619

HTTP Get content type

I have a program that is supposed to interact with a web server and retrieve a file containing structured data using http and cgi. I have a couple questions:

  1. The cgi script on the server needs to specify a body right? What should the content-type be?
  2. Should I be using POST or GET?
  3. Could anyone tell me a good resource for reading about HTTP?

Upvotes: 3

Views: 14250

Answers (3)

IaCoder
IaCoder

Reputation: 12770

  1. The content-type specified by the server will depend on what type of data you plan to return. As Jim said if it's JSON you can use 'application/json'. The obvious payload for the request would be whatever data you're sending to the client.

  2. From the servers prospective it shouldn't matter that much. In general if you're not expecting a lot of information from the client I'd set up the server to respond to GET requests as opposed to POST requests. An advantage I like is simply being able to specify what I want in the url (this can't be done if it's expecting a POST request).

  3. I would point you to the rfc for HTTP...probably the best source for information..maybe not the most user friendly way to get your answers but it should have all the answers you need. link text

Upvotes: 1

Jim Ferrans
Jim Ferrans

Reputation: 31012

For (1) the Content-Type depends on the structured data. If it's XML you can use application/xml, JSON can be application/json, etc. Content-Type is set by the server. Your client would ask for that type of content using the Accept header. (Try to use existing data format standards and content types if you can.)

For (2) GET is best (you aren't sending up any data to the server).

I found RESTful Web Services by Richardson and Ruby a very interesting introduction to HTTP. It takes a very strict, but very helpful, view of HTTP.

Upvotes: 0

Gumbo
Gumbo

Reputation: 655697

If you just want to retrieve the resource, I’d use GET. And with GET you don’t need a Content-Type since a GET request has no body. And as of HTTP, I’d suggest you to read the HTTP 1.1 specification.

Upvotes: 3

Related Questions