• 第一章--Go与web应用


    Go语言构建web应用的特性

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

    HTTP简介

    HTTP是一种无状态、由文本构成的请求-响应(request-response)协议,这种协议使用的是客户端-服务器(client-server)计算模型

    CGI

    通用网管接口(Common Gateway Interface),允许web服务器与一个独立运行于web服务器进程之外的进程对接

    SSI

    服务器端包含(server-side includes),允许开发者在HTML文件里包含一些指令,衍生出了JSP(Java Server Pages),ASP(Active Server Pages)等Web模板引擎

    http请求

    • 请求行(request-line)
    • 零个或任意多个请求首部(header)
    • 一个空行
    • 可选的报文主体(body)

    请求方法

    • GET
    • POST
    • HEAD
    • PUT
    • DELETE
    • TRACE
    • OPTIONS
    • CONNECT
    • PATCH

    http响应

    • 一个状态行
    • 零个或任意数量的响应首部
    • 一个空行
    • 一个可选的报文主体

    响应状态码

    • 1XX 情报状态码
    • 2XX 成功状态码
    • 3XX 重定向状态码
    • 4XX 客户端错误状态码
    • 5XX 服务器错误状态码

    响应首部

    • Allow
    • Content-Length
    • Content-Type
    • Date
    • Location
    • Server
    • Set-Cookie
    • WWW-Authenticate

    URI

    统一资源标识符(Uniform Resource Identifier),在Tim Berners-Lee在1994年发表的RFC 1630中定义了这个概念,还包括统一资源名称(Uniform Resource Name)和统一资源定位符(Uniform Resource Location),URI是一个涵盖性术语,包含了URN和URL,URI一般格式为:

    <方案名称>:<分层部分>[ ? <查询参数>] [ # <片段>]

    因每个URL都是一个单独的字符串,所以URL里不能包含空格,?和#这些符号也不能做其它用途,我们需要用URL编码(百分号编码)对这些字符进行转换,做法是将该字符在ASCII码中的字节值转换为16进制,并在前面加上%,例如空格就被转换为%20。

    处理器

    Web应用中的处理器出了要接收和处理客户端发来的请求,还需要调用模板引擎,然后由模板引擎生成HTML并把数据填充至将要回传给客户端的响应报文中

    模板引擎(template engine)

    • 静态模板
    • 动态模板

    Hello Go

    本地运行hello, world!

    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(":8080", nil)
    }
    
  • 相关阅读:
    java算法小例子
    Spring Boot学习笔记---Spring Boot 基础及使用idea搭建项目
    SpringBoot核心特性之组件自动装配
    spring cloud eureka注册原理-注册失败填坑
    红黑树存在的合理性
    IO模型(epoll)--详解-03
    IO模型(epoll)--详解-02
    IO模型(epoll)--详解-01
    JVM-类加载原理
    并发之原子性、可见性、有序性
  • 原文地址:https://www.cnblogs.com/authetic/p/10164539.html
Copyright © 2020-2023  润新知