Rename xhttp
							parent
							
								
									06408d94a8
								
							
						
					
					
						commit
						0eacffc92a
					
				| 
						 | 
				
			
			@ -11,13 +11,13 @@
 | 
			
		|||
不过目前的浏览器转发有以下缺点:
 | 
			
		||||
* 用户需要手动开浏览器
 | 
			
		||||
* 浏览器发出的连接必须直连 使用 tun 的用户需要特别注意容易形成死循环
 | 
			
		||||
* 浏览器只能发出 HTTP 连接 所以目前仅支持 [WebSocket](../../transports/websocket.md) 与 [SplitHTTP](../../transports/splithttp.md) 传输方式
 | 
			
		||||
* 浏览器只能发出 HTTP 连接 所以目前仅支持 [WebSocket](../../transports/websocket.md) 与 [XHTTP](../../transports/splithttp.md) 传输方式
 | 
			
		||||
* 当浏览器从 `localhost:8080` 页面连接至代理服务端,需要考虑 [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
 | 
			
		||||
* 因为中间经过 JS 处理数据,会有一些性能损耗
 | 
			
		||||
* 不能使用自定义 SNI 或者 Host,也就是说 `SNI == host == address`。自定义 HTTP 头以及其它 `tlsSettings` 项会被忽略
 | 
			
		||||
 | 
			
		||||
## 配置方法
 | 
			
		||||
1. 准备一份 WebSocket 或 SplitHTTP 配置,注意 address 必须填域名,若需要指定 IP,请配置 DNS 或系统 hosts
 | 
			
		||||
1. 准备一份 WebSocket 或 XHTTP 配置,注意 address 必须填域名,若需要指定 IP,请配置 DNS 或系统 hosts
 | 
			
		||||
2. 使用环境变量启动 Xray `XRAY_BROWSER_DIALER=127.0.0.1:8080`。Windows 上命令为 `set XRAY_BROWSER_DIALER=127.0.0.1:8080` Linux 上命令为 `XRAY_BROWSER_DIALER=127.0.0.1:8080 ./xray -c config.json`
 | 
			
		||||
3. 确保浏览器直连(或者在路由中将服务端地址直接由 `freedom` 发出),打开页面 `localhost:8080`,还可以 `F12` 看 `Console` 和 `Network`
 | 
			
		||||
4. 浏览器会限制发出的连接数,所以建议开启 `Mux.Cool`
 | 
			
		||||
| 
						 | 
				
			
			@ -40,10 +40,10 @@
 | 
			
		|||
- 用于浏览器的 early data 编码是 `base64.RawURLEncoding` 而不是 `StdEncoding`,服务端做了兼容。
 | 
			
		||||
- 此外,由于 [Xray-core#375](https://github.com/XTLS/Xray-core/pull/375) 推荐 `?ed=2048`,这个 PR 顺便将服务端一处 `MaxHeaderBytes` 扩至了 4096。 ~~(虽然好像不改也没问题)~~
 | 
			
		||||
 | 
			
		||||
## SplitHTTP
 | 
			
		||||
## XHTTP
 | 
			
		||||
 | 
			
		||||
<Badge text="v1.8.19+" type="warning"/>
 | 
			
		||||
 | 
			
		||||
SplitHTTP 本身支持 QUIC,如果想使用浏览器自己的 QUIC 网络栈,Chrome 可以在 `chrome://flags` 中设定。其它浏览器也有相关选项。
 | 
			
		||||
XHTTP 本身支持 QUIC,如果想使用浏览器自己的 QUIC 网络栈,Chrome 可以在 `chrome://flags` 中设定。其它浏览器也有相关选项。
 | 
			
		||||
 | 
			
		||||
原理上说 `tlsSettings` 项会被忽略,使用哪个 HTTP 版本将完全由浏览器决定。
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,7 +20,7 @@
 | 
			
		|||
  "httpSettings": {},
 | 
			
		||||
  "grpcSettings": {},
 | 
			
		||||
  "httpupgradeSettings": {},
 | 
			
		||||
  "splithttpSettings": {},
 | 
			
		||||
  "xhttpSettings": {},
 | 
			
		||||
  "sockopt": {
 | 
			
		||||
    "mark": 0,
 | 
			
		||||
    "tcpMaxSeg": 1440,
 | 
			
		||||
| 
						 | 
				
			
			@ -42,7 +42,7 @@
 | 
			
		|||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
> `network`: "raw" | "ws" | "h2" | "grpc" | "kcp" | "httpupgrade" | "splithttp"
 | 
			
		||||
> `network`: "raw" | "ws" | "h2" | "grpc" | "kcp" | "httpupgrade" | "xhttp"
 | 
			
		||||
 | 
			
		||||
连接的数据流所使用的传输方式类型,默认值为 `"raw"`
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -99,9 +99,9 @@ Reality 是目前最安全的传输加密方案, 且外部看来流量类型和
 | 
			
		|||
 | 
			
		||||
当前连接的 HTTPUpgrade 配置,仅当此连接使用 HTTPUpgrade 时有效。
 | 
			
		||||
 | 
			
		||||
> `splithttpSettings`: [SplitHttpObject](./transports/splithttp.md)
 | 
			
		||||
> `xhttpSettings`: [XHttpObject](./transports/splithttp.md)
 | 
			
		||||
 | 
			
		||||
当前连接的 SplitHTTP 配置,仅当此连接使用 SplitHTTP 时有效。
 | 
			
		||||
当前连接的 XHTTP 配置,仅当此连接使用 XHTTP 时有效。
 | 
			
		||||
 | 
			
		||||
> `sockopt`: [SockoptObject](#sockoptobject)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
# SplitHTTP(H2、QUIC H3)
 | 
			
		||||
# XHTTP (SplitHTTP)
 | 
			
		||||
 | 
			
		||||
<Badge text="v1.8.16+" type="warning"/>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -10,11 +10,11 @@
 | 
			
		|||
 | 
			
		||||
目的与V2fly Meek相同,由于使用了流式响应处理下载,下行速率更为优秀,上行也经过优化但仍非常有限,也因此对 HTTP 中间盒要求更高(见上)。
 | 
			
		||||
 | 
			
		||||
`SplitHTTP` 也接受 `X-Forwarded-For` header。
 | 
			
		||||
`XHTTP` 也接受 `X-Forwarded-For` header。
 | 
			
		||||
 | 
			
		||||
## SplitHttpObject
 | 
			
		||||
## XHttpObject
 | 
			
		||||
 | 
			
		||||
The `SplitHttpObject` 对应传输配置的 `splithttpSettings` 项。
 | 
			
		||||
The `XHttpObject` 对应传输配置的 `xhttpSettings` 项。
 | 
			
		||||
 | 
			
		||||
```json
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -39,11 +39,11 @@ The `SplitHttpObject` 对应传输配置的 `splithttpSettings` 项。
 | 
			
		|||
 | 
			
		||||
> `path`: string
 | 
			
		||||
 | 
			
		||||
SplitHTTP 所使用的 HTTP 协议路径,默认值为 `"/"`。
 | 
			
		||||
XHTTP 所使用的 HTTP 协议路径,默认值为 `"/"`。
 | 
			
		||||
 | 
			
		||||
> `host`: string
 | 
			
		||||
 | 
			
		||||
SplitHTTP 的HTTP请求中所发送的host,默认值为空。若服务端值为空时,不验证客户端发送来的host值。
 | 
			
		||||
XHTTP 的HTTP请求中所发送的host,默认值为空。若服务端值为空时,不验证客户端发送来的host值。
 | 
			
		||||
 | 
			
		||||
当在服务端指定该值,或在 ```headers``` 中指定host,将会校验与客户端请求host是否一致。
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -95,7 +95,7 @@ SplitHTTP 的HTTP请求中所发送的host,默认值为空。若服务端值
 | 
			
		|||
 | 
			
		||||
<Badge text="v24.9.19+" type="warning"/>
 | 
			
		||||
 | 
			
		||||
仅客户端,允许用户对 SplitHTTP 在 h2 与 h3 中的多路复用行为进行控制。使用该功能时不要启用 mux.cool。
 | 
			
		||||
仅客户端,允许用户对 XHTTP 在 h2 与 h3 中的多路复用行为进行控制。使用该功能时不要启用 mux.cool。
 | 
			
		||||
 | 
			
		||||
```json
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,14 +14,14 @@ However, there are many drawbacks:
 | 
			
		|||
 | 
			
		||||
* The user has to launch a browser next to the Xray client just for opening the proxy connection.
 | 
			
		||||
* The browser dialer must not be tunneled through the proxy itself, otherwise there is a loop. TUN users should be cautious.
 | 
			
		||||
* The browser can only speak standard HTTP, which means that only [WebSocket](../../transports/websocket.md) and [SplitHTTP](../../transports/splithttp.md) are supported
 | 
			
		||||
* The browser can only speak standard HTTP, which means that only [WebSocket](../../transports/websocket.md) and [XHTTP](../../transports/splithttp.md) are supported
 | 
			
		||||
* [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) needs to be considered when making requests from one website (`localhost:8080`) to another (`proxy.example.com:443`)
 | 
			
		||||
* The browser tunnels your traffic using JavaScript, so there is a significant performance penalty (or, battery drain)
 | 
			
		||||
* The configuration to be used with browser dialer cannot use custom SNI or host headers. `SNI == host == address`. Custom HTTP headers and `tlsSettings` are ignored entirely.
 | 
			
		||||
 | 
			
		||||
## Configuration
 | 
			
		||||
 | 
			
		||||
1. Prepare a usable WebSocket or SplitHTTP configuration. Be aware of the above restrictions.
 | 
			
		||||
1. Prepare a usable WebSocket or XHTTP configuration. Be aware of the above restrictions.
 | 
			
		||||
2. Launch Xray with `XRAY_BROWSER_DIALER=127.0.0.1:8080`. On Windows, this can be done as `set XRAY_BROWSER_DIALER=...` and then launching the core from the console, on Linux the core can be launched as `XRAY_BROWSER_DIALER=127.0.0.1:8080 ./xray -c config.json`.
 | 
			
		||||
3. Open a browser that is not tunneled through the proxy, or modify the config's routing such that the Xray server's domain goes to `freedom` directly from the client. Browse to `localhost:8080`, and open the developer console with `F12` to monitor for errors.
 | 
			
		||||
4. For better performance and to bypass arbitrary connection limits enforced by the browser, it is recommended to enable `Mux.Cool`.
 | 
			
		||||
| 
						 | 
				
			
			@ -44,10 +44,10 @@ According to the browser's needs, the early data mechanism has been adjusted as
 | 
			
		|||
- The encoding used for early data for browsers is `base64.RawURLEncoding` instead of `StdEncoding`, and the server has made it compatible.
 | 
			
		||||
- In addition, due to [Xray-core#375](https://github.com/XTLS/Xray-core/pull/375) recommendations for `?ed=2048`, this PR also increased server `MaxHeaderBytes` by 4096. ~~(Although it seems like it would work without modification.)~~
 | 
			
		||||
 | 
			
		||||
## SplitHTTP
 | 
			
		||||
## XHTTP
 | 
			
		||||
 | 
			
		||||
<Badge text="v1.8.19+" type="warning"/>
 | 
			
		||||
 | 
			
		||||
SplitHTTP supports QUIC, but the browser's own QUIC stack may be used as well. In Chrome this can be done through `chrome://flags`, in other browsers it may already be enabled or need a different flag.
 | 
			
		||||
XHTTP supports QUIC, but the browser's own QUIC stack may be used as well. In Chrome this can be done through `chrome://flags`, in other browsers it may already be enabled or need a different flag.
 | 
			
		||||
 | 
			
		||||
In general, `tlsSettings` are completely ignored when Browser Dialer is used. Xray does not have any control over which HTTP version the browser selects.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,7 +20,7 @@ Transports specify how to achieve stable data transmission. Both ends of a conne
 | 
			
		|||
  "httpSettings": {},
 | 
			
		||||
  "grpcSettings": {},
 | 
			
		||||
  "httpupgradeSettings": {},
 | 
			
		||||
  "splithttpSettings": {},
 | 
			
		||||
  "xhttpSettings": {},
 | 
			
		||||
  "sockopt": {
 | 
			
		||||
    "mark": 0,
 | 
			
		||||
    "tcpMaxSeg": 1440,
 | 
			
		||||
| 
						 | 
				
			
			@ -42,7 +42,7 @@ Transports specify how to achieve stable data transmission. Both ends of a conne
 | 
			
		|||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
> `network`: "tcp" | "kcp" | "ws" | "http" | "grpc" | "httpupgrade" | "splithttp"
 | 
			
		||||
> `network`: "tcp" | "kcp" | "ws" | "http" | "grpc" | "httpupgrade" | "xhttp"
 | 
			
		||||
 | 
			
		||||
The underlying protocol of the transport used by the data stream of the connection, defaulting to `"tcp"`.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -90,9 +90,9 @@ Configures the current gRPC connection. Valid only when gRPC is used. Same schem
 | 
			
		|||
 | 
			
		||||
Configures the current HTTPUpgrade connection. Valid only when HTTPUpgrade is used. Same schema as global.
 | 
			
		||||
 | 
			
		||||
> `splithttpSettings`: [SplitHttpObject](./transports/splithttp.md)
 | 
			
		||||
> `xhttpSettings`: [XHttpObject](./transports/splithttp.md)
 | 
			
		||||
 | 
			
		||||
Configures SplitHTTP connections. Valid only when SplitHTTP is used. Same schema as global.
 | 
			
		||||
Configures XHTTP connections. Valid only when XHTTP is used. Same schema as global.
 | 
			
		||||
 | 
			
		||||
> `sockopt`: [SockoptObject](#sockoptobject)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
# SplitHTTP
 | 
			
		||||
# XHTTP (SplitHTTP)
 | 
			
		||||
 | 
			
		||||
<Badge text="v1.8.16+" type="warning"/>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -13,11 +13,11 @@ above streaming requirement to the CDN so that download can be much faster than
 | 
			
		|||
(v2fly) Meek, close to WebSocket performance. The upload is also optimized, but
 | 
			
		||||
still much more limited than WebSocket.
 | 
			
		||||
 | 
			
		||||
Like WebSocket transport, SplitHTTP parses the `X-Forwarded-For` header for logging.
 | 
			
		||||
Like WebSocket transport, XHTTP parses the `X-Forwarded-For` header for logging.
 | 
			
		||||
 | 
			
		||||
## SplitHttpObject
 | 
			
		||||
## XHttpObject
 | 
			
		||||
 | 
			
		||||
The `SplitHttpObject` corresponds to the `splithttpSettings` section under transport configurations.
 | 
			
		||||
The `XHttpObject` corresponds to the `xhttpSettings` section under transport configurations.
 | 
			
		||||
 | 
			
		||||
```json
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -150,7 +150,7 @@ Default 0 = infinite. How long can a connection "survive" at most? When the conn
 | 
			
		|||
 | 
			
		||||
*Added in 1.8.21: HTTP/3 support*
 | 
			
		||||
 | 
			
		||||
SplitHTTP supports `http/1.1`, `h2` and `h3` ALPN values. If the value is not
 | 
			
		||||
XHTTP supports `http/1.1`, `h2` and `h3` ALPN values. If the value is not
 | 
			
		||||
set, `h2` (prior-knowledge) is assumed when TLS is enabled, and `http/1.1`
 | 
			
		||||
without TLS. If the value is set to `h3`, the client will attempt to connect as
 | 
			
		||||
HTTP/3, so UDP instead of TCP.
 | 
			
		||||
| 
						 | 
				
			
			@ -180,7 +180,7 @@ even if the client speaks `h3`.
 | 
			
		|||
 | 
			
		||||
<Badge text="v1.8.17+" type="warning"/>
 | 
			
		||||
 | 
			
		||||
If uTLS is not enough, SplitHTTP's TLS can be handled by a browser using [Browser Dialer](../features/browser_dialer.md)
 | 
			
		||||
If uTLS is not enough, XHTTP's TLS can be handled by a browser using [Browser Dialer](../features/browser_dialer.md)
 | 
			
		||||
 | 
			
		||||
## Protocol details
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,14 +14,14 @@ Xray обычно использует uTLS для имитации поведе
 | 
			
		|||
 | 
			
		||||
* Пользователь должен запускать браузер рядом с клиентом Xray только для открытия прокси-соединения.
 | 
			
		||||
* Browser Dialer не должен быть туннелирован через сам прокси, иначе возникнет петля. Пользователи TUN должны быть осторожны.
 | 
			
		||||
* Браузер может работать только со стандартным HTTP, что означает, что поддерживаются только [WebSocket](../../transports/websocket.md) и [SplitHTTP](../../transports/splithttp.md).
 | 
			
		||||
* Браузер может работать только со стандартным HTTP, что означает, что поддерживаются только [WebSocket](../../transports/websocket.md) и [XHTTP](../../transports/splithttp.md).
 | 
			
		||||
* [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) необходимо учитывать при выполнении запросов с одного веб-сайта (`localhost:8080`) на другой (`proxy.example.com:443`).
 | 
			
		||||
* Браузер туннелирует ваш трафик с помощью JavaScript, поэтому наблюдается значительное снижение производительности (или разрядка аккумулятора).
 | 
			
		||||
* Конфигурация, используемая с Browser Dialer, не может использовать собственные заголовки SNI или хоста. `SNI == host == address`. Пользовательские заголовки HTTP и `tlsSettings` игнорируются полностью.
 | 
			
		||||
 | 
			
		||||
## Конфигурация
 | 
			
		||||
 | 
			
		||||
1. Подготовьте рабочую конфигурацию WebSocket или SplitHTTP. Помните о вышеуказанных ограничениях.
 | 
			
		||||
1. Подготовьте рабочую конфигурацию WebSocket или XHTTP. Помните о вышеуказанных ограничениях.
 | 
			
		||||
2. Запустите Xray с помощью `XRAY_BROWSER_DIALER=127.0.0.1:8080`. В Windows это можно сделать как `set XRAY_BROWSER_DIALER=...`, а затем запустить ядро из консоли, в Linux ядро можно запустить как `XRAY_BROWSER_DIALER=127.0.0.1:8080 ./xray -c config.json`.
 | 
			
		||||
3. Откройте браузер, который не туннелирован через прокси, или измените маршрутизацию конфигурации таким образом, чтобы домен сервера Xray переходил к `freedom` непосредственно с клиента. Перейдите по адресу `localhost:8080` и откройте консоль разработчика с помощью `F12`, чтобы отслеживать ошибки.
 | 
			
		||||
4. Для повышения производительности и обхода произвольных ограничений на подключение, применяемых браузером, рекомендуется включить `Mux.Cool`.
 | 
			
		||||
| 
						 | 
				
			
			@ -44,11 +44,11 @@ Xray обычно использует uTLS для имитации поведе
 | 
			
		|||
- Кодировка, используемая для ранних данных для браузеров, - это `base64.RawURLEncoding` вместо `StdEncoding`, и сервер сделал ее совместимой.
 | 
			
		||||
- Кроме того, в связи с [Xray-core#375](https://github.com/XTLS/Xray-core/pull/375) рекомендациями по `?ed=2048` этот PR также увеличил сервер `MaxHeaderBytes` на 4096. ~~(Хотя, похоже, это будет работать и без модификации.)~~
 | 
			
		||||
 | 
			
		||||
## SplitHTTP
 | 
			
		||||
## XHTTP
 | 
			
		||||
 | 
			
		||||
<Badge text="v1.8.19+" type="warning"/>
 | 
			
		||||
 | 
			
		||||
SplitHTTP поддерживает QUIC, но также может использоваться собственный стек QUIC браузера. В Chrome это можно сделать через `chrome://flags`, в других браузерах он может быть уже включен или для него может потребоваться другой флаг.
 | 
			
		||||
XHTTP поддерживает QUIC, но также может использоваться собственный стек QUIC браузера. В Chrome это можно сделать через `chrome://flags`, в других браузерах он может быть уже включен или для него может потребоваться другой флаг.
 | 
			
		||||
 | 
			
		||||
В общем, `tlsSettings` полностью игнорируются при использовании Browser Dialer. Xray никак не контролирует, какую версию HTTP выбирает браузер.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,7 +22,7 @@
 | 
			
		|||
  "httpSettings": {},
 | 
			
		||||
  "grpcSettings": {},
 | 
			
		||||
  "httpupgradeSettings": {},
 | 
			
		||||
  "splithttpSettings": {},
 | 
			
		||||
  "xhttpSettings": {},
 | 
			
		||||
  "sockopt": {
 | 
			
		||||
    "mark": 0,
 | 
			
		||||
    "tcpMaxSeg": 1440,
 | 
			
		||||
| 
						 | 
				
			
			@ -44,7 +44,7 @@
 | 
			
		|||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
> `network`: "raw" | "ws" | "h2" | "grpc" | "kcp" | "httpupgrade" | "splithttp"
 | 
			
		||||
> `network`: "raw" | "ws" | "h2" | "grpc" | "kcp" | "httpupgrade" | "xhttp"
 | 
			
		||||
 | 
			
		||||
Тип способа передачи, используемого потоком данных соединения, по умолчанию `"raw"`
 | 
			
		||||
::: tip
 | 
			
		||||
| 
						 | 
				
			
			@ -99,9 +99,9 @@ Reality — это самое безопасное на данный момен
 | 
			
		|||
 | 
			
		||||
Конфигурация HTTPUpgrade для текущего соединения, действительна только если это соединение использует HTTPUpgrade.
 | 
			
		||||
 | 
			
		||||
> `splithttpSettings`: [SplitHttpObject](./transports/splithttp.md)
 | 
			
		||||
> `xhttpSettings`: [XHttpObject](./transports/splithttp.md)
 | 
			
		||||
 | 
			
		||||
Конфигурация SplitHTTP для текущего соединения, действительна только если это соединение использует SplitHTTP.
 | 
			
		||||
Конфигурация XHTTP для текущего соединения, действительна только если это соединение использует XHTTP.
 | 
			
		||||
 | 
			
		||||
> `sockopt`: [SockoptObject](#sockoptobject)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
# SplitHTTP (H2, QUIC H3)
 | 
			
		||||
# XHTTP (SplitHTTP)
 | 
			
		||||
 | 
			
		||||
<Badge text="v1.8.16+" type="warning"/>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -12,11 +12,11 @@
 | 
			
		|||
Цель та же, что и у V2fly Meek, но благодаря использованию фрагментированной загрузки скорость загрузки выше, а скорость отдачи оптимизирована, но все еще очень ограничена, поэтому к HTTP-прокси предъявляются более высокие требования (см. выше).
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
`SplitHTTP` также принимает заголовок `X-Forwarded-For`.
 | 
			
		||||
`XHTTP` также принимает заголовок `X-Forwarded-For`.
 | 
			
		||||
 | 
			
		||||
## SplitHttpObject
 | 
			
		||||
## XHttpObject
 | 
			
		||||
 | 
			
		||||
`SplitHttpObject` соответствует элементу `splithttpSettings` в конфигурации транспорта.
 | 
			
		||||
`XHttpObject` соответствует элементу `xhttpSettings` в конфигурации транспорта.
 | 
			
		||||
 | 
			
		||||
```json
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -41,11 +41,11 @@
 | 
			
		|||
 | 
			
		||||
> `path`: string
 | 
			
		||||
 | 
			
		||||
Путь HTTP-протокола, используемый SplitHTTP. Значение по умолчанию — `"/"`.
 | 
			
		||||
Путь HTTP-протокола, используемый XHTTP. Значение по умолчанию — `"/"`.
 | 
			
		||||
 | 
			
		||||
> `host`: string
 | 
			
		||||
 | 
			
		||||
Хост, отправляемый в HTTP-запросе SplitHTTP. Значение по умолчанию пустое. Если значение на сервере пустое, значение хоста, отправляемое клиентом, не проверяется.
 | 
			
		||||
Хост, отправляемый в HTTP-запросе XHTTP. Значение по умолчанию пустое. Если значение на сервере пустое, значение хоста, отправляемое клиентом, не проверяется.
 | 
			
		||||
 | 
			
		||||
Если значение указано на сервере или в `headers`, оно будет сравниваться со значением хоста в запросе клиента.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -97,7 +97,7 @@
 | 
			
		|||
 | 
			
		||||
<Badge text="v24.9.19+" type="warning"/>
 | 
			
		||||
 | 
			
		||||
Только для клиента. Позволяет пользователю контролировать поведение многопоточности SplitHTTP в h2 и h3. Не используйте данную функцию вместе с mux.cool.
 | 
			
		||||
Только для клиента. Позволяет пользователю контролировать поведение многопоточности XHTTP в h2 и h3. Не используйте данную функцию вместе с mux.cool.
 | 
			
		||||
 | 
			
		||||
```json
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue