content-length 與 transfer-encoding=chunked
public class HttpServerTest { public static void main(String[] args) throws IOException { HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0); server.createContext("/echo", new Handler()); server.start(); } } class Handler implements HttpHandler { public void handle(HttpExchange xchg) throws IOException { Headers headers = xchg.getRequestHeaders(); Set<Map.Entry<String, List<String>>> entries = headers.entrySet(); StringBuffer response = new StringBuffer(); for (Map.Entry<String, List<String>> entry : entries) response.append(entry.toString() + "\n"); xchg.sendResponseHeaders(200, response.length()); OutputStream os = xchg.getResponseBody(); os.write("abc".getBytes()); // os.write(response.toString().getBytes()); os.close(); } } <p class="indent"> |
上面的程式碼,在瀏覽器中訪問http://localhost:8000/echo出現無法顯示此網頁,但註釋掉註釋處的上面這句os.write("abc".getBytes());放開 os.write(response.toString().getBytes());則能夠顯示正確結果,這是上面道理呢?
還有如何從content-length轉化到Transfer-Encoding:chunked呢?
相關文章
- [HTTP] HTTP 協議 Response Header 之 Content-Length、Transfer-Encoding與Content-EncodingHTTP協議HeaderEncoding
- Kubernetes List-Watch 機制原理與實現 - chunked
- HTTP協議的chunked編碼(chunked transfer encoding分塊傳輸編碼)HTTP協議Encoding
- windows10BashOnWindowsERR_INCOMPLETE_CHUNKED_ENCODINGWindowsEncoding
- ERROR:Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODINGErrorAIEncoding
- HttpWebRequest請求http1.1的chunked的解析問題記錄HTTPWeb
- spring rest 容易被忽視的後端服務 chunked 效能問題SpringREST後端
- 【原創】經驗分享:一個Content-Length引發的血案(almost....)
- 寫了個web伺服器,ab測試一下,就報錯Conn.Write wrote more than the declared Content-LengthWeb伺服器
- 從零手寫實現 nginx-07-大檔案傳輸 分塊傳輸(chunked transfer)/ 分頁傳輸(paging)Nginx
- undefined與null與?. ??UndefinedNull
- &與&&, |與||區別
- 進與穩,時代與技術,新基建與華為雲
- 程式與執行緒、同步與非同步、阻塞與非阻塞、併發與並行執行緒非同步並行
- Promise與async/await與GeneratorPromiseAI
- in與exist , not in與not exist 的區別
- Python學習筆記 5.0 元組 與 字典 與 集合 與 公共操作 與 推導式Python筆記
- 聊聊執行緒與程式 & 阻塞與非阻塞 & 同步與非同步執行緒非同步
- jQuery與JavaScript與ajax三者的區別與聯絡jQueryJavaScript
- forms元件補充與ModelForm簡單使用與cookie與sessionORM元件CookieSession
- PHP 與 Swoole 淺析與學習PHP
- PySpark與GraphFrames的安裝與使用Spark
- PHPCookie與Session的使用與區別PHPCookieSession
- 同步與非同步 阻塞與非阻塞非同步
- define與typedef區別與聯絡
- WAS與IHS整合的安裝與配置
- 漏型與源型、PNP與NPN
- Iterator與Iterable(迭代器與可迭代)
- js == 與 ===JS
- Process與Socket,Select與Accept關係
- cookie與session的區別與聯絡CookieSession
- Java:運用while()與do....while與for()JavaWhile
- 陣列與字串方法與相互轉換陣列字串
- Session與Cookie的區別與聯絡SessionCookie
- cookie與session的自己思考與解釋CookieSession
- GRPC與 ProtoBuf 的理解與總結RPC
- 同步與阻塞的區別與聯絡
- 關於 in與exist , not in與not exist 的區別