• go web 读书笔记 (go 与 web 应用)


    一.为什么使用go编写web应用?

    1.1 大规模的web应用通常具备以下几点特征:

    • 可拓展
    • 模块化
    • 高性能
    • 可维护

    1.1.1 go与可拓展的web

    两种方法可以对性能进行拓展:

    • 垂直扩展  (即提升单台设备的CPU数量或者性能)
    • 水平扩展  (即增加设备的数量来提高性能)

    go 在垂直扩展拥有不俗的表现: 可以通过调度进行10W个goroutine

    go web可以编译成不包含任何依赖的静态二进制文件,可以安装到没有任何go环境的系统中,以一种简单一致的方式部署。

    1.1.2 go与模块化的web

    go 经常用于创建微服务

    1.1.3 go与可维护的web

    1.1.4 go与高性能的web

    go 语言设计目标就是接近C语言的性能,并发编程。

    1.2 Web应用的工作原理

    1.2.1 http 简介

    无状态,由文本构成的响应-请求协议,使用的是cs计算模型。

    1.2.2  幂等的请求

    put delete

    1.2.3  http2

    http2是二进制协议,多路复用,多个请求响应可以在同一时间共用一条连接,从而提高性能

    go 1.6之后使用https自动使用http2

    1.3 hello-world 第一个go web 应用

    package main
    
    import (
    	"fmt"
    	"net/http"
    )
    
    func handler(writer http.ResponseWriter,request *http.Request)  {
    	fmt.Fprintf(writer,"Hello world ,%s",request.URL.Path[1:])
    }
    
    func main()  {
    	http.HandleFunc("/",handler)
    	http.ListenAndServe(":8081",nil)
    }
    

      

  • 相关阅读:
    安卓开发知识点
    安卓开发第一天之环境搭建
    maven中的依赖的范围、传递、冲突,继承
    pom.xml文件
    Maven的目录结构
    tomcat的端口修改不成功
    maven的安装和配置,及在Eclipse里的使用
    servlet的路径跳转及路径问题
    servlet如何获取jsp表单里的数据
    关于“servelt始终驻留在服务器内存”的理解
  • 原文地址:https://www.cnblogs.com/EthanSun/p/13576652.html
Copyright © 2020-2023  润新知