亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果內容長度錯誤,Chrome 會關閉 tcp 連接嗎?

如果內容長度錯誤,Chrome 會關閉 tcp 連接嗎?

Go
阿波羅的戰車 2023-06-05 18:35:52
我對 Web 服務器對 http keep-alive 標頭的操作感興趣。所以我在http server的基礎上搭建了一個簡單的http server。服務器除了用一個簡單的 html http 正文響應客戶端之外什么都不做。服務器的代碼在這里:package mainimport (    "fmt"    "net"    "os")func main() {    l, err := net.Listen("tcp", "localhost:9765")    if err != nil {        fmt.Println("Error listening:", err.Error())        os.Exit(1)    }    defer l.Close()    for {        conn, err := l.Accept()        fmt.Println("New connection...")        if err != nil {            fmt.Println("Error accepting: ", err.Error())            os.Exit(1)        }        go handleRequest(conn)    }}// handlerfunc handleRequest(conn net.Conn) {    for {        buf := make([]byte, 512)        _, err := conn.Read(buf)        if err != nil {            fmt.Println("Error reading:", err.Error())            conn.Close()            break        }        fmt.Printf("%s", buf)        str := `HTTP/1.1 200 OKConnection: keep-aliveContent-Length: 8Content-Type: application/javascriptalert(1)`        conn.Write([]byte(str))    }}我向本地 nginx 靜態服務器添加了一個演示 html:<head>    <meta charset="UTF-8">    <script type=text/javascript src="test.js"></script>    <script type=text/javascript src="http://localhost:9765/3"></script>    <script type=text/javascript src="http://localhost:9765/2"></script>    <script type=text/javascript src="http://localhost:9765/1"></script>    <script type=text/javascript src="http://localhost:9765/17"></script>    <script type=text/javascript src="http://localhost:9765/16"></script>    <script type=text/javascript src="http://localhost:9765/15"></script>    <script type=text/javascript src="http://localhost:9765/14"></script>    <script type=text/javascript src="http://localhost:9765/13"></script></head><body><h1>loader測試頁面</h1><span>hello world</span></body></html>當用chrome訪問文件時,我發現所有響應都是正常的,但是每次http請求后tcp連接都會關閉。TCP 在發送 http 響應后收到 EOF 錯誤。
查看完整描述

1 回答

?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

如果您在標頭中發送錯誤的內容長度,瀏覽器將掛起(等待永遠不會出現的內容)或關閉連接(當它在內容后看到無效垃圾時)。它還能做什么?



查看完整回答
反對 回復 2023-06-05
  • 1 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號