• Go Web


    1、Web工作方式

      对于普通的上网过程,系统其实是这样做的:浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去请求
    DNS服务器,通过DNS获取相应的域名对应的IP,然后通过IP地址找到IP对应的服务器后,要求建立TCP连接,等浏览
    器发送完HTTP Request(请求)包后,服务器接收到请求包之后才开始处理请求包,服务器调用自身服务,返回HTTP
    Response(响应)包;客户端收到来自服务器的响应后开始渲染这个Response包里的主体(body),等收到全部的内
    容随后断开与该服务器之间的TCP连接。

    Web服务器的工作原理可以简单地归纳为:
      客户机通过TCP/IP协议建立到服务器的TCP连接 
      客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档
      服务器向客户机发送HTTP协议应答包,如果请求的资源包含有动态语言的内容,那么服务器会调用动态语言的解释引擎负责处理“动态内容”,并将处理得到的数据返回给客户  端
      客户机与服务器断开。由客户端解释HTML文档,在客户端屏幕上渲染图形结果

      (连接是TCP/IP协议,传送是HTTP协议)

      客户机与服务器之间的通信是非持久连接的,也就是当服务器发送了应答后就与客户机断开连接,等待下一次请求。

      操作系统会先检查自己本地的hosts文件是否有这个网址映射关系 (host文件是什么)

      Web里面经典的解决方案是cookie和session,cookie机制是一种客户端机制,把用户数据保存在客户端,而
      session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构来保存信息,每一个网站访客都会被分配
      给一个唯一的标志符,即sessionID,它的存放形式无非两种:要么经过url传递,要么保存在客户端的cookies里.当然,
      你也可以将Session保存到数据库里,这样会更安全,但效率方面会有所下降

      session创建过程

      生成全局唯一标识符(sessionid);


      开辟数据存储空间。一般会在内存中创建相应的数据结构,但这种情况下,系统一旦掉电,所有的会话数据
      就会丢失,如果是电子商务类网站,这将造成严重的后果。所以为了解决这类问题,你可以将会话数据写到
      文件里或存储在数据库中,当然这样会增加I/O开销,但是它可以实现某种程度的session持久化,也更有利
      于session的共享;


      将session的全局唯一标示符发送给客户端。

      目前主流的有如下几种Web服务:REST、SOAP。


      REST请求是很直观的,因为REST是基于HTTP协议的一个补充,他的每一次请求都是一个HTTP请求,然后根据不同的
      method来处理不同的逻辑,很多Web开发者都熟悉HTTP协议,所以学习REST是一件比较容易的事情。所以我们在8.3小
      节讲详细的讲解如何在Go语言中来实现REST方式。


      SOAP是W3C在跨网络信息传递和远程计算机函数调用方面的一个标准。但是SOAP非常复杂,

  • 相关阅读:
    刷题力扣面试题 16.01. 交换数字
    git branch 分支操作
    数组的应用 创建的语法
    地址的替换,替换
    数组的扩容
    数组参数
    minio服务在linux安装部署 单机
    android studio出现 Could not initialize class com.android.sdklib.repository.AndroidSdkHandler
    Wireshark分割、合并pcap文件
    elasticsearch 删除index
  • 原文地址:https://www.cnblogs.com/letwant/p/9501773.html
Copyright © 2020-2023  润新知