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: