Back

接口的访问基本机制:User Agent (web interface basic: user-agent)

发布时间: 2015-01-02 23:53:00

refer to: http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html

在http请求中,不是所有的信息都从request parameter中获得。例如:

GET  http://host.com/some_interface?a=1&b=2

在这个请求中, 除了在 request_url中,可以看到 a=1, b=2 ,还能在 User Agent中获知,它的 os(操作系统),它的浏览器版本号等等。

在 w3.org的官方文档中,我们可以看到, request 由下列方式组成:  (CRLF 就是换行, mac用 CR,linux用LF换,Windows是两个同时用:CRLF)

  Request = Request-Line 
    *(
        ( general-header |     
         request-header | 
         entity-header
        )
      CRLF
      )
      [ message-body]

而一个 request-line 是这样组成的:

Request-Line   =  Method SP   Request-URI        SP  HTTP-Version CRLF 
例如:            GET         http://www.w3.org/     HTTP/1.1

一个 request-header包含了下面这些: (注意最下面的User Agent )

       request-header = Accept             
                      | Accept-Charset           
                      | Accept-Encoding        
                      | Accept-Language       
                      | Authorization            
                      | Expect                   
                      | From                     
                      | Host                    
                      | If-Match            
                      | If-Modified-Since 
                      | If-None-Match     
                      | If-Range              
                      | If-Unmodified-Since 
                      | Max-Forwards         
                      | Proxy-Authorization  
                      | Range                    
                      | Referer                
                      | TE                      
                      | User-Agent       

所以,如果需要,我们可以把某些特定参数(例如os, device_id, device_type 等等)放在 User-Agent中。

Back