标签: http-chunked

HTTP 内容长度和分块传输编码。有2GB限制吗?

现代网络服务器是否支持Content-Length 超过 2GB4GB的HTTP ?

HTTP分块传输编码中的块怎么样?单个 HTTP 块的长度可以超过2GB吗?

我需要知道在我的代码中使用32-bit integersor 64-bit integers

http http-content-length chunked-encoding http-chunked

5
推荐指数
1
解决办法
8984
查看次数

如果HTTP/1.0客户端请求Connection:keep-alive,它会理解分块编码吗?

如果我的HTTP服务器获得带有"Connection:keep-alive"标头的HTTP/1.0请求,那么客户是否理解"Transfer-Encoding:chunked"是否公平?

本质上,我正在尝试决定是否尊重HTTP/1.0客户端的"Connection:keep-alive"标头.如果我确实尊重它,那么我必须使用chunked编码进行回复,因为我无法缓冲整个回复以便计算Content-Length标头.

如果期望请求"Connection:keep-alive"的HTTP/1.0客户端也理解分块编码是不安全的,那么我将不得不在每次回复后关闭连接.(或者我错过了什么?)

http http-content-length chunked-encoding http-headers http-chunked

5
推荐指数
2
解决办法
5961
查看次数

通过块读取文件块

我想一块一块地读一个文件.该文件被分成几个部分,存储在不同类型的媒体上.我目前所做的是调用文件的每个单独部分,然后将其合并回原始文件.

问题是我需要等到所有块都到达才能播放/打开文件.是否有可能在他们到达时阅读这些块,而不是等待它们全部到达.

我正在处理媒体文件(电影文件).

java io fileinputstream http-chunked

5
推荐指数
2
解决办法
2万
查看次数

Django 返回 http 早期刷新(分块响应)

我有一个算法,它等待近 5 秒来生成响应,我想在用户发送请求后立即向用户发送一个 ack(http 200),告诉他他的请求已收到并等待 5 秒。

发电机功能:

def chunked_res():
    yield "Chunk 1"

    stop = time.time() + 5    # wait for 5 seconds
    while time.time() < stop:
        pass

    yield "Chunk 2"
Run Code Online (Sandbox Code Playgroud)

在某些方面:

response = HttpResponse ( chunked_res() )
response['Connection'] = 'close'
response['Transfer-Encoding'] = 'chunked'
response['status'] = 200
return response
Run Code Online (Sandbox Code Playgroud)

浏览器中的响应:

"传输编码:分块\n状态:200\n连接:关闭\n内容类型:文本/html;字符集=utf-8\n\nChunk 1Chunk 2"

问题: 我得到了要求的响应(Chunk 1,Chunk 2),但在 5 秒后。我想先发送“Chunk 1”,然后在 5 秒后发送“Chunk 2”(更新响应)。是否有任何特定的设置/更改来实现这一点?

更新:

Django = 1.4 蟒蛇 = 2.7

python django http chunked-encoding http-chunked

5
推荐指数
1
解决办法
4223
查看次数

使用AngularJs处理Play scala发送的分块数据

我送chunked dataPlay Scala 2.2像这样的客户端:Ok.chunked(data)

我想在客户端提供它们时尽快使用它们.如果我只是获取数据并打印它们.success,它们会同时打印,即收到最后一个数据.

如何在收到后立即打印出来?我必须用websockets吗?

scala chunked http-chunked angularjs playframework-2.2

5
推荐指数
1
解决办法
1312
查看次数

Java HTTP server sending chunked response

I am working on a Java application which has a built in HTTP server, at the moment the server is implemented using ServerSocketChannel, it listens on port 1694 for requests:

        msvrCh = ServerSocketChannel.open();
        msvrCh.socket().bind(new InetSocketAddress(mintPort));
        msvrCh.configureBlocking(false);
Run Code Online (Sandbox Code Playgroud)

A thread is installed to manage requests and responses:

        Thread thrd = new Thread(msgReceiver);
        thrd.setUncaughtExceptionHandler(exceptionHandler);
        thrd.start();
Run Code Online (Sandbox Code Playgroud)

The thread is quite simple:

        Runnable msgReceiver = new Runnable() {
            @Override
            public void run() {
                try{
                    while( !Thread.interrupted() ) {
    //Sleep a short period between checks for …
Run Code Online (Sandbox Code Playgroud)

java http chunked chunked-encoding http-chunked

5
推荐指数
1
解决办法
7190
查看次数

C解析HTTP Chunked传输编码响应

我正在开发一个需要解析Chunked类型HTTP传输的客户端.我试着用下面的方法弄清楚错误,并且如果有人能够更快地捕捉到我的错误,我会很感激.总结一下这个问题:似乎客户端没有收到所有的块,从而搞砸了剩下的进程.提前致谢!

 while(cflag){
    pfile_chunk = malloc(CHUNK_SIZE+1);
    memset(pfile_chunk, 0, CHUNK_SIZE);
    cPtr = pfile_chunk;
    cPtr2 = NULL;
    k=0;
    while(*(cPtr-1) != '\n'){
        k++;
        recv(sock, cPtr, 1, 0);
        cPtr = pfile_chunk+k;
    }
    cPtr2 = strchr(pfile_chunk, '\r');
    *cPtr2 = '\0';
    sscanf(pfile_chunk, "%x", &l);
    if(l == 0)
        break;
    printf("\nServer wants to deliver %ld bytes.\n", l);
    pfile_chunk = realloc(pfile_chunk, l+1);
    memset(pfile_chunk, 0, l);
    recv(sock, pfile_chunk, l, 0);
    fputs(pfile_chunk, f);
    printf("GOT THIS, SIZE %ld:\n%s\n", strlen(pfile_chunk), pfile_chunk);
    //get next \r\n bytes.
    recv(sock, NULL, 2, 0);
}
Run Code Online (Sandbox Code Playgroud)

c http transfer-encoding chunked-encoding http-chunked

4
推荐指数
1
解决办法
3708
查看次数