[Golang]Golang编程杂记(1)

前端之家收集整理的这篇文章主要介绍了[Golang]Golang编程杂记(1)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


如何选择web框架:

首先Golang语言开发web项目不一定非要框架,本身已经提供了Web开发需要的一切必要技术。当然如果想要ruby里面Rail那种高层次全栈式的MVC框架,
Golang里面暂时没有,但是不是所有人都喜欢这种复杂的框架。Golang里面一些应用层面的技术需要自己去组装,比如session,cache,log等等. 可选择的web框架有martini, goji等,都是轻量级的。


Golang的web项目中的keepalive

关于keepalive,
是比较复杂的, 注意以下几点:

  1. http1.1
    默认支持keepalive, 但是不同浏览器对keepalive都有个超时时间, 比如firefox:


    默认超时时间115秒, 不同浏览器不一样;

  2. Nginx默认超时时间75秒;

  3. golang默认超时时间是无限的,
    要控制golang中的keepalive可以设置读写超时, 举例如下:

  1. server:=&http.Server{
  2. Addr:":9999",
  3. Handler:framework,
  4. ReadTimeout:32*time.Second,
  5. WriteTimeout:32*time.Second,
  6. MaxHeaderBytes:1<<20,
  7. }
  8. server.ListenAndServe()

猜你在找的Go相关文章