• http协议基础


    1. 网络7层模型

    OSI -- Open System Interconnection

    背景: 制定的一个用于计算机或通信系统间互联的标准体系
    image

    2. 网络5层模型

    image

    3. http发展历史

    • Http 0.9 -- 只有一个Get方法,没有head描叙数据信息
    • Http 1.0 -- 新增POST DELETE PUT HEAD 等方法 + header部分 + status code(服务端处理该请求响应的状态)
    • Http 1.1 -- 长连接 + pipeline(可以同时多个请求,但串行处理) + host
    • Http 2.0 -- 数据以二进制发送,压缩头部与服务器主动推送,同一个连接里发送多个请求可以并行处理

    4. Http请求原理

    • http请求是建立在TCP连接之上的

    5. URL

    Uniform Resoure Locator -- 同一资源定位符
    http://ip:port/path?query=string#hash

    • ip -- 服务器主机IP地址或对应的域名
    • Port -- 提供Web服务程序监听端口
    • /path -- 资源路径 -- restful风格中是名词 -- 类似文件系统目录结构
    • ?query=string& -- query string GET方法使用的查询参数
    • hash -- 锚点 -- 浏览器窗口定位到页面的某个区域

    6. 报文

    • 请求报文
      image
      • Method 请求的方法 -- restful语义:
        1. GET -- 查询
        2. POST -- 新增
        3. PUT -- 修改多个记录
        4. PATCH -- 修改单个记录
        5. DELETE -- 删除记录
    • 响应报文
      image
      • Http code -- 定义服务器对请求处理的结果
    1. Demo
    package main
    
    import (
       "log"
       "net/http"
    )
    
    func main() {
       // 定义路由
       http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
          n, err := w.Write([]byte("ok"))
          if err != nil {
             log.Println(err)
          }
          log.Println(n)
       })
    
       // 启动http服务
       err := http.ListenAndServe(":8888", nil)
       if err != nil {
          log.Fatalln(err)
       }
    }
    
    • ISO -- 国际标准化组织
  • 相关阅读:
    iOS中文API之UITouch详解
    iOS中文API之UIResponder介绍
    NSProxy
    NSObject
    Objective-C 简介
    【摘录】在Windows平台上使用Objective-C
    基于VM10+Win7安装Mac OSX10.11 El Capitan
    关于安装黑苹果
    insta经典滤镜下载
    GPUImage简单滤镜使用之色阶(三)
  • 原文地址:https://www.cnblogs.com/2bjiujiu/p/15203745.html
Copyright © 2020-2023  润新知