tcp 实现简单http 问题

使用tcp 实现给浏览器返回内容 返回的response 内容在网页上是有显示的,而且使用的字段也是起作用的 但是为什么 浏览器的看不到 response headers 内容. 代码如下:


package main

import (
    "fmt"
    "log"
    "net"
)

func main() {
    ip, err := net.ResolveTCPAddr("tcp", ":8890")
    if err != nil {
        log.Println("err1:", err)
        return
    }
    l, err := net.ListenTCP("tcp", ip)
    if err != nil {
        log.Println("err2", err)
    }
    for {

        conn, err := l.Accept()
        if err != nil {
            log.Println(err)
        }
        go Hand(conn)

    }

}

func Hand(conn net.Conn) {
    defer conn.Close()
    meg := make([]byte, 1024)
    _, err := conn.Read(meg)
    res := `HTTP/1.1  200  OK \r\n
            Content-Type: text/html; charset=utf-8 \r\n
            Date:Wed, 08 Aug 2018 08:02:25 GMT
            Server:好厉害的 os \r\n
            \r\n

            <html>
            <head>
            </head>
            <meta http-equiv="content-type" content="text/html;charset=utf-8">
            <p>模拟一下</p>
            </html>
            `

    _, err = conn.Write([]byte(res))
    if err != nil {
        log.Println(err)
    }
    fmt.Println(string(meg))
    return
}
已邀请:

Ky

赞同来自:

你输出一下你发送的内容就知道了,\r\n 根本就没转义 比如:

    fmt.Println("aaa\nbbb")
    fmt.Println(`aaa\nbbb`) // 这个就没转义

要回复问题请先登录注册