了解http请求格式

时间:2013-12-29 10:18:01

标签: http-headers

以下是我从Google Chrome浏览器中提取的3个http标头请求格式。这3个请求格式适用于html,xml和json。服务器如何知道哪个是html,xml或json并做出相应的响应?

    Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Encoding:gzip,deflate,sdch
    Accept-Language:en-US,en;q=0.8
    Connection:keep-alive
    Cookie:_depot_session=BAh7CUkiD3Nlc3Npb25faWQGOgZFRiIlZjhlMzg2MjM3YWJlYzg2NzgyZTk0MmM2MzQzOTI1YWVJIgxjYXJ0X2lkBjsARmksSSIQX2NzcmZfdG9rZW4GOwBGSSIxMk9PaHhzVVpqNkJ2VnYxQnZwL3E5UWlZbFFjKzF3Mm9CUEhtT2c2TWd0VT0GOwBGSSIMdXNlcl9pZAY7AEZpDA%3D%3D--e672d35300801a62050521d5d2ed381f263126a7
    Host:localhost:3000
    Referer:http://localhost:3000/en/products
    User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36





   Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Encoding:gzip,deflate,sdch
    Accept-Language:en-US,en;q=0.8
    Cache-Control:max-age=0
    Connection:keep-alive
    Content-Length:69
    Content-Type:application/x-www-form-urlencoded
    Cookie:_depot_session=BAh7CUkiD3Nlc3Npb25faWQGOgZFRiIlZjhlMzg2MjM3YWJlYzg2NzgyZTk0MmM2MzQzOTI1YWVJIgxjYXJ0X2lkBjsARmksSSIQX2NzcmZfdG9rZW4GOwBGSSIxMk9PaHhzVVpqNkJ2VnYxQnZwL3E5UWlZbFFjKzF3Mm9CUEhtT2c2TWd0VT0GOwBGSSIMdXNlcl9pZAY7AEZpDA%3D%3D--e672d35300801a62050521d5d2ed381f263126a7
    Host:localhost:3000
    Origin:http://localhost:3000
    Referer:http://localhost:3000/
    User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36






    Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Encoding:gzip,deflate,sdch
    Accept-Language:en-US,en;q=0.8
    Cache-Control:max-age=0
    Connection:keep-alive
    Content-Length:69
    Content-Type:application/x-www-form-urlencoded
    Cookie:_depot_session=BAh7CUkiD3Nlc3Npb25faWQGOgZFRiIlZjhlMzg2MjM3YWJlYzg2NzgyZTk0MmM2MzQzOTI1YWVJIgxjYXJ0X2lkBjsARmksSSIQX2NzcmZfdG9rZW4GOwBGSSIxMk9PaHhzVVpqNkJ2VnYxQnZwL3E5UWlZbFFjKzF3Mm9CUEhtT2c2TWd0VT0GOwBGSSIMdXNlcl9pZAY7AEZpDA%3D%3D--e672d35300801a62050521d5d2ed381f263126a7
    Host:localhost:3000
    Origin:http://localhost:3000
    Referer:http://localhost:3000/
    User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36

1 个答案:

答案 0 :(得分:1)

您有一个名为respond_to的方法来处理请求

  def index
    @people = Person.find(:all)

    respond_to do |format|
      format.html 
      format.xml { render :xml => @people.to_xml }
      format.json {render :json => @people.to_json}
    end
  end

控制器中的上述方法将根据请求格式进行响应