码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Go语言创建HTTP服务器


            Web服务器可提供网页、Web服务和文件,而Go语言为创建Web服务器提供了强大的支持。

    1.通过Hello World Web 服务器宣告您的存在

            标准库中的net/http包提供了多种创建HTTP服务器的方法,它还提供了一个基本的路由器。

    1. package main
    2. import (
    3. "net/http"
    4. )
    5. func helloWorld(w http.ResponseWriter, r *http.Request) {
    6. w.Write([]byte("Hello World\n"))
    7. }
    8. func main() {
    9. http.HandleFunc("/", helloWorld)
    10. http.ListenAndServe(":8000", nil)
    11. }

    程序解读如下:

    • 导入net/http包
    • 在main函数中,使用方法HandleFunc创建了路由/。这个方法接受一个模式和一个函数,其中前者描述了路径,而后者指定如何对以送到该路径的请求做出响应
    • 函数helloWorld接受一个http.ResponseWriter和一个指向请求的指针。这意味着在这个函数中,可查看或操作请求,再将响应返回给客户端。在这里,使用了方法Write来生成响应。这个方法生成的HTTP响应包括状态、报头和响应体。[ ]byte声明一个字节切片并将字符串值转换为字节。这意味着方法Write可以使用[ ]byte,因为这个方法将一个字节切片作为参数。
    • 为响应客户端,使用了方法ListenAndServer来启动一个服务器,这个服务器监听localhost和端口8000

     2.查看请求和响应

            curl是一款用于发起HTTP请求的命令行工具,它几乎可在任何平台上使用。macOS系统预先安装了curl;Linux系统通常也安装了curl,如果没有安装,可使用包管理器进行安装;Windows系统没有预先安装curl。

                    2.1 使用curl发出请求

            安装curl后,就可在开发和调试Web服务器时使用它。可不使用Web浏览器,而使用curl来向Web服务器发送各种请求以及查看响应。

    在macOS或Linux系统中,再开一个终端;执行下面的命令,其中的选项-is指定打印报头,并忽略一些不感兴趣的内容。

    curl -is http://localhost:8000

    如果上面命令成功了,将会看到来自Web服务器的响应,基中包含报头和响应体。

    HTTP/1.1 200 OK

    Date:Fri,05 Apr 2024 11:42 GMT

    Content-Length: 12

    Content-Type: text/plain; c

  • 相关阅读:
    第三十篇 slot - 插槽
    SEO外链专员,SEO专员,SEO编辑,每天工作量给他们怎么安排?
    【Linux】安装部署Redis
    如何使用Memcached缓存图片信息
    Numpy字符串数组总结
    【记录】打印|用浏览器生成证件照打印PDF,打印在任意尺寸的纸上(简单无损!)
    接口间调用为什么要用json、fastjson怎么赋值的、fastjson 1.2.83@JSONField映射关系问题
    【pytorch笔记】第五篇 torchvision,Dataloader,nn.Module的使用
    stlink故障修复
    由于找不到d3dx9_43.dll无法继续执行此代码怎么解决?全面解析d3dx9_43.dll
  • 原文地址:https://blog.csdn.net/canglonghacker/article/details/137393926
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号