net/http
net/http介绍
net/http
HTTP协议
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
HTTP客户端
基本的HTTP/HTTPS请求
Get、Head、Post和PostForm函数发出HTTP/HTTPS请求。
程序在使用完response后必须关闭回复的主体。
[GET]
带参数:
参数需要使用到net/url来处理
带header头部信息:
对应server端:
[POST]
PostForm方式
json:
带有headers参数
对应server端:
自定义Client
要管理HTTP客户端的头域、重定向策略和其他设置,创建一个Client:
自定义Transport
要管理代理、TLS配置、keep-alive、压缩和其他设置,创建一个Transport:
Client和Transport类型都可以安全的被多个goroutine同时使用。出于效率考虑,应该一次建立、尽量重用。
服务端
默认的Server
ListenAndServe使用指定的监听地址和处理器启动一个HTTP服务端。处理器参数通常是nil,这表示采用包变量DefaultServeMux作为处理器。
Handle和HandleFunc函数可以向DefaultServeMux添加处理器。
默认的Server示例
net/httpnet/http
127.0.0.1:9090
自定义Server
要管理服务端的行为,可以创建一个自定义的Server:
demo: