Go网络编程HTTP

作者: TZX_0710 | 来源:发表于2021-08-06 10:36 被阅读0次

http编程

Web服务器的工作原理可以简单归纳为

  • 客户端通过TCP/IP协议建立到服务器的TCP连接
  • 客户端向服务器发送HTTP协议请求包,请求服务器的资源文档
  • 服务器向客户机发送HTTP协议应答包,如果有动态语言,服务器调用动态语言的解释引擎处理,然后再返回给客户端
  • 客户端与服务器断开。由客户端解释HTML文档,在客户端渲染。

Http协议

HTTP协议承载在TCP协议之上

服务端

package main

import (
  "fmt"
  "net/http"
)

func main() {
  http.HandleFunc("/go", func(writer http.ResponseWriter, request *http.Request) {
      fmt.Println(request.RemoteAddr, "连接成功")
      fmt.Println(request.Method, "请求方式")
      fmt.Println(request.URL.Path, "请求地址")
      fmt.Println(request.Header, "请求头")
      fmt.Println(request.Body, "请求内容")
      writer.Write([]byte("helloWorld"))
  })
  http.ListenAndServe("127.0.0.1:8080", nil)
}

客户端

package main

import (
  "fmt"
  "io"
  "net/http"
)

func main() {
  resp, _ := http.Get("http://127.0.0.1:8080/go")
  defer resp.Body.Close()
  // 200 OK
  fmt.Println(resp.Status)
  fmt.Println(resp.Header)

  buf := make([]byte, 1024)
  for {
      // 接收服务端信息
      n, err := resp.Body.Read(buf)
      if err != nil && err != io.EOF {
          fmt.Println(err)
          return
      } else {
          fmt.Println("读取完毕")
          res := string(buf[:n])
          fmt.Println(res)
          break
      }
  }
}

相关文章

  • Go网络编程HTTP

    http编程 Web服务器的工作原理可以简单归纳为客户端通过TCP/IP协议建立到服务器的TCP连接客户端向服务器...

  • Go网络编程之HTTP编程

    1. 概述 Web工作方式 对于普通的上网过程,系统其实是这样做的:浏览器本身是一个客户端,当你输入URL的时候,...

  • Go语言网络编程http请求

    1. 概述 我们简单的描述一下什么是web服务的工作方式,通常一个客户端(客户端可以是浏览器或者其他任何能发送ht...

  • golang读书笔记(五)

    参考了《Go in Action》、《Go 网络编程:使用 Handler 和 HandlerFunc[https...

  • 20201104日记

    今日总结: 白天满课 写了一下晚上开会内容 go网络编程 明日计划: 实现树 复习离散 数据结构课 go网络编程 ...

  • Android 网络编程 目录

    Android 网络编程 目录 Android 网络编程1 Http协议Android 网络编程2 Okhttp缓...

  • http网络编程

    http协议基础 所谓网络编程,指的是应用层和传输层。 层级 内容 应用层 <应用层>TELNET,SS...

  • http网络编程

    http协议基础 所谓网络编程,指的是应用层和传输层。 层级 内容 应用层 <应用层>TELNET,SS...

  • go 网络编程

    TCP服务器代码编写 // windows会把结尾\r\n都计算进来 // if "exit" == string...

  • Go网络编程

    http请求包格式:请求行:请求方法 (空格)请求文件URL (空格)协议版本 (\r\n)请求头:语法格式:ke...

网友评论

    本文标题:Go网络编程HTTP

    本文链接:https://www.haomeiwen.com/subject/fqybvltx.html