zoukankan      html  css  js  c++  java
  • 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)
    }
    

      

  • 相关阅读:
    PHP中如何防止跨域调用接口
    301、404、200、304、500HTTP状态
    多表联合查询
    put方式提交上传图片
    获取样式属性getComputed,currentStyle
    AjaxPro异步加载服务器的时间
    在 ASP.NET 中执行 URL 重写
    ASP.NET 的前世今生 之 .NET Framework
    asp.net 读写 XML 转载自 yiki'space
    可爱的人人
  • 原文地址:https://www.cnblogs.com/EthanSun/p/13576652.html
Copyright © 2011-2022 走看看