Просто хотел узнать, пропускает ли ответ GET Bucket op заголовок Content-Length. Я протестировал это, и я увидел, что в ответе для GET Bucket op не было заголовка Content-Length.GET Bucket op response + AWS S3 + Content-Length header
Как приложение, читающее ответ, понимает, где заканчивается тело ответа, если ответ не содержит заголовка Content-Length?
Request-Response Отрывок:
GET /?max-keys=1000&prefix&delimiter=%2F HTTP/1.1
Date: Sat, 09 Apr 2016 18:27:23 GMT
x-amz-request-payer: requester
Authorization: AWS AKIAIP3KAUILC4GG7A2A:UG3bGvIjayrxrkxEX1mfrvETy/M=
Connection: Keep-Alive
User-Agent: Cyberduck/4.9.19632 (Mac OS X/10.10.5) (x86_64)
HTTP/1.1 200 OK
x-amz-id-2: yg76HSq5j0mi0oR6dXF8ZfGq722kHBWiMQmNvXPqiLxr1S4nGj5GVn1RVrPQrOUfNynxxaMSYEY=
x-amz-request-id: B4468E68E10B6AEF
Date: Sat, 09 Apr 2016 18:27:25 GMT
x-amz-bucket-region: us-east-1
Content-Type: application/xml
Server: AmazonS3
Connection: close
<?xml version="1.0" encoding="UTF-8"?>
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">......</ListBucketResult>
Спасибо!
Спасибо за ответ Yangfan. Однако, если клиент продолжает читать до закрытия соединения, как он сможет различать тело для текущего обрабатываемого запроса и заголовок следующего запроса? Кроме того, AWS обязуется использовать HTTP/1.1, я считаю. – Rakshith
Я имел в виду Pipelining команд GET на том же соединении выше. Просто хотел пояснить этот момент. – Rakshith