golang之http請求的dns解析代碼流程


src/net/http/client.go
func (c *Client) do(req *Request) (retres *Response, reterr error)


src/net/http/client.go
func (c *Client) send(req *Request, deadline time.Time) (resp *Response, didTimeout func() bool, err error)


src/net/http/client.go
func send(ireq *Request, rt RoundTripper, deadline time.Time) (resp *Response, didTimeout func() bool, err error)


src/net/http/roudtrip.go
func (t *Transport) RoundTrip(req *Request) (*Response, error)


src/net/http/transport.go
func (t *Transport) roundTrip(req *Request) (*Response, error)


src/net/http/transport.go
func (t *Transport) getConn(treq *transportRequest, cm connectMethod) (pc *persistConn, err error)


src/net/http/transport.go
func (t *Transport) queueForDial(w *wantConn)


src/net/http/transport.go
func (t *Transport) dialConnFor(w *wantConn)


src/net/http/transport.go
func (t *Transport) dialConn(ctx context.Context, cm connectMethod) (pconn *persistConn, err error)


src/net/http/transport.go
func (t *Transport) dial(ctx context.Context, network, addr string) (net.Conn, error)


src/net/dial.go
func (d *Dialer) DialContext(ctx context.Context, network, address string) (Conn, error)


src/net/dial.go
func (r *Resolver) resolveAddrList(ctx context.Context, op, network, addr string, hint Addr) (addrList, error)


src/net/ipsock.go
func (r *Resolver) internetAddrList(ctx context.Context, net, addr string) (addrList, error)


src/net/lookup.go
func (r *Resolver) lookupIPAddr(ctx context.Context, network, host string) ([]IPAddr, error)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM