http

Server-Sent Events、WebSocket 和 HTTP

橙色网站目前正在讨论一篇关于 Server-Sent Events 的文章,特别是与 WebSockets(以及新兴的WebTransport)相比。文章和讨论都很有见地,但我认为他们遗漏了一个具有相当深远影响的方面。

中介很重要

许多年前,当我在一个超大型网站的基础设施团队工作时,浏览器开始支持 WebSockets,该网站上的各种属性(新闻、体育、娱乐等)都对它提供的可能性感到兴奋. 他们需要扩展 WebSockets 而我们想要支持它们,所以我们询问他们希望我们实现哪个库——实际上是哪个协议。

        

网址的url结尾应该不应该带斜杠

网址的url结尾应该不应该带斜杠

带与不带斜杠"/"是不同的网址.

特别是相对url,

如果 你访问https://www.p2hp.com/about  ,里面有个<a href="info">info</a>,则它将链接到https://www.p2hp.com/info.

而如果你访问https://www.p2hp.com/about/(一般返回同样的内容),则里面的<a href="info">info</a>,将链接到https://www.p2hp.com/about/info.

 

但根目录带不带/是一样的

如:http://www.p2hp.com 和http://www.p2hp.com/ 是一样的.

 

已测试.

 

参考:

https://blog.cdivilly.com/2019/02/28/uri-trailing-slashes

https://stackoverflow.com/questions/5948659/when-should-i-use-a-trailing-slash-in-my-url

https://www.cloudways.com/blog/trailing-slashes-urls/

https://ahrefs.com/blog/zh/trailing-slash/

 

 

        

使用 tcpflow 跟踪 HTTP 请求

PagerDuty 早上很早就出发了,我们的英雄诅咒自己倒霉并接到了电话。他让 PagerDuty 将消息重复两次,但无法理解消息。他按下号码以确认这件事。他打开 MacBook,发现来自 PagerDuty 机器人的 slack 消息信息量更大。他单击了链接,然后将他带到了 Grafana 仪表板。

他盯着红色的心形图标看了几秒,其中一个微服务故障率很高。有一秒钟,他很想更新错误阈值,这样他就可以回去睡觉了。勉强地,他打开 Graylog 并查看日志,注意到 401 响应。他在日志中查找更多信息,但没有找到有用的信息。

Axios 基于 Promise 的 HTTP 客户端

Axios ,基于 Promise 的 HTTP 客户端,可以工作于浏览器中,也可以在 node.js 中使用。

功能:

  • 从浏览器中创建 XMLHttpRequest
  • 从 node.js 中创建 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • 取消请求
  • 自动转换 JSON 数据
  • 客户端支持防止 XSRF 攻击

示例代码:

执行一个 GET 请求

// Make a request for a user 
    

HTTP/2 与 HTTP/3:比较

HTTP(超文本传输​​协议)是万维网所基于的应用层传输协议。最初在 80 年代后期构思为基于单行文本的协议,最初记录为HTTP/0.9,其第一个全功能迭代(v. 1.0)于 1996 年在RFC 1945中记录。

随着互联网的使用和期望的增长,改进 HTTP 本身的需求也在增长。1.1 版在 1997 年的RFC 2068和 1999 年的RFC 2616中记录,随后在 2014 年的 RFC (7230-7235) 中记录了 — 整整十年半之后!— 记录消息语法/路由;语义/内容;条件和范围请求;缓存;和认证。…