[ 
https://issues.apache.org/jira/browse/TS-1465?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Call reassigned TS-1465:
------------------------------

    Assignee: Bryan Call

> Handling of HTTP 0.9 responses
> ------------------------------
>
>                 Key: TS-1465
>                 URL: https://issues.apache.org/jira/browse/TS-1465
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: HTTP
>    Affects Versions: 3.2.0
>            Reporter: Timur Irmatov
>            Assignee: Bryan Call
>            Priority: Minor
>             Fix For: sometime
>
>
> I have a following scenario:
> Apache Traffic Server is configured as forward proxy to access internet. (It 
> can be either explicit configuration or transparent - same problem). Then, 
> client (tested with linux music players MPD, Audacious, Rhythmbox) starts to 
> play internet radio, http://scfire-dtc-aa04.stream.aol.com/stream/1065 for 
> example. Origin server responds with HTTP 0.9, as fas as I understand. ATS 
> sends to client HTTP/1.1 response with chunked encoding. Unfortunately, none 
> of the aforementioned clients really understand HTTP/1.1 and chunked encoding 
> in particular. This leads to audible music defect every second or so. 
> Granted, these are bugs in those players, and I have reported it against one 
> of them and am willing to do so for others.
> But, Squid proxy acting as transparent proxy forwards original servers' HTTP 
> 0.9 repsonse back to client not modified at all (without upgrading it to 
> HTTP/1.1 despite client request claims HTTP/1.1). So no problem. Is there a 
> possibility to may be add configuration variable (something like 
> proxy.http.return_http09_as_is) to mimic Squid's behaviour and return HTTP 
> 0.9 response body as is, without any modifications or response version 
> upgrade?
> This is request from curl and Squid's response:
> Request:
> GET /stream/1065 HTTP/1.1
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 
> zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: scfire-dtc-aa04.stream.aol.com
> Accept: */*
> Response:
> ICY 200 OK
> Date: Thu, 13 Sep 2012 05:03:31 GMT
> icy-notice1: <BR>This stream requires <a 
> href="http://www.winamp.com/";>Winamp</a><BR>
> icy-notice2: Firehose Ultravox/SHOUTcast Relay Server/Linux v2.6.0<BR>
> icy-name: Vocal Trance - DIGITALLY IMPORTED - a fusion of trance, dance, and 
> chilling vocals together!
> icy-genre: Electronic Trance Pop
> icy-url: http://www.di.fm/vocaltrance
> Content-Type: audio/mpeg
> icy-pub: 1
> icy-br: 96
> X-Cache: MISS from localhost
> X-Cache-Lookup: MISS from localhost:3128
> Connection: close
> <...then here audio data stream follows>
> This is same with ATS:
> Request:
> GET /stream/1065 HTTP/1.1
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 
> zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: scfire-dtc-aa04.stream.aol.com
> Accept: */*
> Response:
>  
> HTTP/1.1 200 Connection Established
> Date: Thu, 13 Sep 2012 05:34:13 GMT
> Transfer-Encoding: chunked
> Connection: keep-alive
> Server: ATS/3.2.0
>  
> ICY 200 OK
> Date: Thu, 13 Sep 2012 05:34:17 GMT
> icy-notice1: <BR>This stream requires <a 
> href="http://www.winamp.com/";>Winamp</a><BR>
> icy-notice2: Firehose Ultravox/SHOUTcast Relay Server/Linux v2.6.0<BR>
> icy-name: Vocal Trance - DIGITALLY IMPORTED - a fusion of trance, dance, and 
> chilling vocals together!
> icy-genre: Electronic Trance Pop
> icy-url: http://www.di.fm/vocaltrance
> Content-Type: audio/mpeg
> icy-pub: 1
> icy-br: 96
> Connection: close
> <... and then comes audio stream with chunked encoding ...>
> This is the only thing that keeps us from switching from Squid to ATS. Any 
> workaround/ suggestions are very welcome. Squid crashes from time to time and 
> uses only one CPU core, so we would really want to switch to ATS.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to