Go语言实现Web服务器

  • 内容
  • 评论
  • 相关

Go语言里面提供了一个完善的 net/http 包,通过 net/http 包我们可以很方便的搭建一个可以运行的 Web 服务器。同时使用 net/http 包能很简单地对 Web 的路由,静态文件,模版,cookie 等数据进行设置和操作。

Web服务器的工作方式

我们平时浏览网页的时候,会打开浏览器,然后输入网址后就可以显示出想要浏览的内容。这个看似简单的过程背后却隐藏了非常复杂的操作。

对于普通的上网过程,系统其实是这样做的:

  • 浏览器本身是一个客户端,当在浏览器中输入 URL (网址)的时候,首先浏览器会去请求 DNS 服务器,通过 DNS 获取相应的域名对应的 IP,然后通过 IP 地址找到对应的服务器后,要求建立 TCP 连接;
  • 与服务器建立连接后,浏览器会向服务器发送 HTTP Request (请求)包;
  • 服务器接收到请求包之后开始处理请求包,并调用自身服务,返回 HTTP Response(响应)包;
  • 客户端收到来自服务器的响应后开始渲染这个 Response 包里的主体(body),等收到全部的内容后断开与该服务器之间的 TCP 连接。


图:用户访问一个站点的过程

本文标题:Go语言实现Web服务器

本文地址:http://www.hosteonscn.com/6665.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注