问题标签 [http-1.1]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - InternetReadFile 因分块响应而失败
我有一个发送分块传输编码数据的服务器。我使用 InternetReadFile 读取数据,但 InternetReadFile 在读取第一个块后以 12004 失败。我使用提琴手 (Wireshark) 来截取接收到的数据。Wireshark 显示第二个块,但 InternetReadFile API 失败。
示例代码:
WireShark 显示:
HTTP/1.1 200 正常
传输编码:分块
日期:2014 年 9 月 18 日星期四 14:16:16 GMT
服务器:CHND
3
好的\n
3
命令
客户端只读取前 3 个字节的块。当我尝试读取下一个 3 字节块“CMD”时,它不起作用。
请帮助客户端应该做哪些必要的更改?还是服务器端需要处理一些额外的事情?
php - PHP 发送 http 1.0 和 1.1 标头
我在某处看到人们在做类似的事情:
这样做的目的是什么?似乎第二个总是会覆盖第一个标题?或者这是因为如果某些客户端不支持 http 1.1,那么他们仍然可以接收 1.0 标头?
server - biograph.be 很抱歉,出了点问题
我是药剂师,我需要这个网站工作,但我不知道该怎么做。也许它来自服务器,也许来自我。我对此感到跛脚(html-things)。
我去这个网站:biograph.be,到目前为止一切都很好,但是如果我想搜索任何东西,例如:tpo 基因
这就是发生的事情:
我们很抱歉,但有些不对劲。
就是这样。
这是查看源代码:
来自http://www.whatsmyip.org/http-headers/的更多数据:
你能帮助我或这个网站的所有者吗?
请帮我。
sockets - tcp 如何为 HTTP 1.1 通信
我正在探索单个套接字上的HTTP 1.1
持久连接,以获取来自客户端的多个请求。我在wireshark 中观察到的一件事是,在每次请求响应之后,我的客户端都会向服务器发送一个请求。根据协议标准,此消息调用是否正确?有什么办法可以跳过这个电话。我将客户端的通信行为与浏览器的通信模式进行了比较。我认为一旦 tcp 握手完成以建立连接,浏览器就不会向服务器发送任何 tcp 消息。TCP
HTTP
ACK
ACK
ACK
node.js - 无法使用 gzip 在 nginx 中为从 Node 后端提供的静态资产关闭分块传输编码
我们有一个Node/express
Web 应用程序,它通过express.static()
. nginx
它前面有一个服务器,当前配置为gzip
这些静态资产请求,如果user agent
可以的话。
但是,尽管按预期nginx
执行,但它正在从原点删除标头,并改为设置。这会破坏我们的.gzip
Content-Length
Transfer-Encoding: chunked
CDN
JS
以下是来自节点后端和来自的典型静态资产请求(在本例中为文件)的响应nginx
:
要求:
来自 Node 的响应标头:
来自 nginx 的响应标头:
我们当前nginx
的静态资产配置location
如下所示:
nginx 配置:
从上面的配置中可以看出,即使我们chunked_transfer_encoding
off
根据nginx
文档明确设置了这样的路径, haveproxy_buffering
on
和 have a big enough proxy_buffers
size
,响应仍然被分块。
我们在这里缺少什么?
--编辑1:版本信息--
--编辑2:nginx
gzip配置--
http-headers - HTTP/1.1 标头的新行定义
我有一个发出 HTTP POST 请求的嵌入式系统,但是我知道标头必须具有格式。
在这种情况下,我有这个要求:
我想在发送此请求时避免任何类型的错误。
\n
严格来说,告诉new line
或应该是正确的用途\r\n
吗?关于这个请求格式有什么建议吗?
谢谢你的帮助。
php - HTTP2 标头与旧浏览器的兼容性
我今天听说 http2 协议很快就会在现代浏览器中实现。更多信息:https ://en.wikipedia.org/wiki/HTTP/2 ,我知道维基百科不是最好的资源,但它会提供一些关于正在发生的事情的线索。问题是:
旧浏览器将如何响应 http2 标头?
我的意思是在 php ( http://php.net ) 上仍有 (26.02.2015) 标头函数 ( http://php.net/manual/en/function.header.php ) 到http1.1
规范 ( http ) 的链接://www.faqs.org/rfcs/rfc2616)。我知道http2
我必须做的就是将标题从例如更改为HTTP/1.1 404 Not Found
类似于HTTP/2.0 404 Not Found
. 但旧版浏览器将如何应对呢?这对 web 开发人员和 php 编码人员是透明的,并在浏览器/服务器端实现,还是有一些关于兼容性的重要事情/线索?
在准备好之后立即使用 http2 标头是一个好主意吗?
我不想伤害任何人,但我知道这样一个浏览器,它的名字以字母开头,I
其次以字母开头E
,总是会有点混乱。恐怕新规范会彻底毁掉这个浏览器的所有旧版本,而且这个http2
. 而且我们 - 开发人员必须编写能够正常工作的网站,无论在哪里,http2
在数以百万计的补丁/升级/与旧机器的兼容性问题数月之后,魔法就会成真。
格式正确的问题中必须有一些代码,所以这里是:):
在这种情况下,旧浏览器呢?
在 http2 存活后立即使用它是个好主意吗?
附加文件:
- http2 规范草案: https ://datatracker.ietf.org/doc/html/draft-ietf-httpbis-http2-17
- 维基百科几句话:https ://en.wikipedia.org/wiki/HTTP/2
- PHP头函数: http: //php.net/manual/en/function.header.php
- W3.org 关于 http2:http ://www.w3.org/Protocols/HTTP/HTTP2.html
authentication - nginx 上的摘要访问认证
使用nginx 限制对网站的访问时,是否可以使用http 1.1 摘要访问身份验证而不是基本访问身份验证?
我的意思与 nginx 指南中的类似。
http - 拒绝来自客户端的 Keep Alive
我正在编写一个响应 HTTP 请求的服务器,它不需要支持保持活动连接(这是在规范中要求的),我想知道用保持活动标头拒绝客户端请求的正确方法是什么。
干杯。
php - SQL 与 HTTP/1.1 获取
这是从dba.stackexchange 转发的。
对于这样一个业余问题,我很抱歉,但我不知道为什么这不起作用。我有一个“add.php”来连接 MySQL 服务器。
/add.php
连接.php
我使用一个简单的 HTTP 1.1 协议:
GET /add.php?ID1=1int&ID2=2char&ID3=3char&ID4=4int&ID5=2015-04-13 01:00:00 HTTP/1.1\r\nmyhost\r\nContent-Type: application/x-www-form-urlencoded\ r\n连接:关闭\r\n\r\n\r\n
其中ID1,ID4 是整数;ID2、ID3 字符;ID5 日期时间 (SQL)
主持人给我这个错误:
如果有人有任何想法让我尝试,我将不胜感激!我真的很无知...
修正:(moskito-x) '".$ID3.", to '".$ID3."',
更新:2015.04.22 13:56
好的,我试过了,它可以在我的主页上运行:Index.php(只需将整个 /add.php 代码复制到 /index.php 中)
但是如果我将它替换到 add.php 中,则不会插入任何行。
我按照其他人的建议更改了 add.php:
添加.php