SONUB 首页 ZH English 한국어 日本語 中文 हिन्दी বাংলা اردو Español Português Français Deutsch Русский العربية Bahasa Indonesia Tiếng Việt ไทย Türkçe

如何开启通知

此浏览器或网址无法使用通知。请使用支持通知的浏览器,通过安全连接访问SONUB。

如果通知被屏蔽,请在浏览器设置中允许通知。

  1. 打开地址栏旁的站点设置或浏览器的站点设置,将此网站的通知设为允许。
  2. 在设备设置中允许浏览器发送通知,并检查勿扰模式或专注模式。
  3. 返回SONUB,刷新页面,然后通过铃铛开启通知。

在iPhone或iPad上,将SONUB添加到主屏幕,从主屏幕打开后允许通知。

返回 Vibe 编程
VIBE 编程

Web 服务器

二十行 ,就肯跟它说话。

Web 不过是一个等待、送出的。为了证明这一点,我们只用 bash、 和一个做一台出来 —— 每一行你都读得懂。之后再走向 Caddy,那是连 一起带上、真正跑线上站点的服务器。

线上真正流过去的东西

把连接打开一看,流过去的是你自己也打得出来的普通文字。Shell 服务器之所以成立就靠这一点,而你能靠「读」而不是「猜」来排查 Web 故障,靠的也是这一点。

浏览器送出的请求

request
GET / HTTP/1.1
Host: localhost:8084
User-Agent: Mozilla/5.0
Accept: text/html
  • 第一行是我们这台服务器唯一读的部分:方法(GET 是取回,POST 是送出)、路径,以及协议版本。
  • Host 说明想要哪个站点。一台服务器可以在同一个地址上放几百个,靠的就是这个头部来分辨。
  • 其余是浏览器的自我介绍:自己是什么软件、能读哪些格式、偏好哪种语言。服务器可以采用,也可以无视。

服务器送出的响应

response
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Connection: close

<h1>Hello</h1>
  • 状态行:协议版本,加上一个说明结果如何的数字。200 表示请求成功。
  • Content-Type 告诉浏览器该怎么读接下来的内容。把 标成错误的类型,浏览器就会把你的当文字显示,而不是渲染成页面。
  • charset 那一段在实践中不是可选项。少了它,中文很可能到达时已经是乱码。
  • 然后是一个空行,它之后的一切都是内容。头部与页面之间的全部边界,就是那一个空行。

值得记住的状态码

状态码含义
200 OK成功。要的东西就在响应里。200 开头的都属于这一类成功。
301 Moved Permanently地址永久搬走了。新地址放在 Location 头部里,浏览器会自动跟过去 —— 站点把 http 访客送去 https 用的就是它,有时也用意思相同的 308(Caddy 就是这样)。
404 Not Found服务器好好的,但那个路径不存在。400 开头表示问题出在请求这一侧。
500 Internal Server Error请求本身没问题,是服务器在处理时倒下了。500 开头意味着该修的人是你,细节都在服务器日志里。

这一栏由你自己标记,这里不打分。

要把这一阶段标记为已理解吗?

目前还不能取消,请在真正理解后再标记。

已标记为理解

这一栏由你自己标记,这里不打分。