标签: roundtrip

Nginx将子域转换为路径组件而不重定向

我们的想法是将传入的请求转发http://abc.example.com/...并重写为http://example.com/abc/...

这很容易做到301/302重定向:

# rewrite via 301 Moved Permanently
server {
  listen 80;
  server_name abc.example.com;
  rewrite ^ $scheme://example.com/abc$request_uri permanent;
}
Run Code Online (Sandbox Code Playgroud)

关键是要做到这一点URL变化透明的客户端时abc.example.com,并example.com点于同一Nginx的实例.

换句话说,Nginx可以在请求example.com/abc/...时提供内容,abc.example.com/...无需另外客户往返吗?

起点配置

使用301完成任务的Nginx配置:

# abc.example.com
server {
  listen 80;
  server_name abc.example.com;
  rewrite ^ $scheme://example.com/abc$request_uri permanent;
}

# example.com
server {
  listen 80;
  server_name example.com;
  location / { 
    # ...
  }
}
Run Code Online (Sandbox Code Playgroud)

subdomain rewrite nginx roundtrip

31
推荐指数
1
解决办法
1万
查看次数

批量http请求

有谁知道批量http请求的标准方法?含义 - 在一次往返中发送多个http原子请求?

出于性能原因,我们在REST API实现中需要这样的机制.这种机制可以显着减少客户端为消耗API而需要执行的往返次数.

提前致谢,

吉文

rest performance http batch-file roundtrip

17
推荐指数
2
解决办法
2万
查看次数

去RoundTripper和运输

我很难理解我们RoundTripper在Go中需要什么.

https://golang.org/pkg/net/http/#RoundTripper

解释TransportGo中的默认值:

var DefaultTransport RoundTripper = &Transport{
       Proxy: ProxyFromEnvironment,
       Dial: (&net.Dialer{
               Timeout:   30 * time.Second,
               KeepAlive: 30 * time.Second,
       }).Dial,
       TLSHandshakeTimeout: 10 * time.Second,
}
Run Code Online (Sandbox Code Playgroud)

但是RoundTripper和之间的区别是什么:

transport := &http.Transport{
    Proxy:                 http.ProxyFromEnvironment,
    TLSHandshakeTimeout:   timeout,
    Dial:              dialfunc,
    DisableKeepAlives: true,
}
Run Code Online (Sandbox Code Playgroud)

我的问题:RoundTripper与常规不同Transport

http go roundtrip itmstransporter

13
推荐指数
1
解决办法
7304
查看次数

使用Python中的请求库测量HTTP响应时间.我做得对吗?

我试图从Web应用程序中引发HTTP响应的人为延迟(这是一种用于执行盲SQL注入的技术).如果从浏览器发送以下HTTP请求,则Web服务器的响应在3秒后返回(由sleep(3)引起):

http://192.168.2.15/sqli-labs/Less-9/?id=1'+and+if+(ascii(substr(database(),+1,+1))=115,sleep(3),null)+--+
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用请求库在Python 2.7中执行相同的操作.我的代码是:

import requests

payload = {"id": "1' and if (ascii(substr(database(), 1, 1))=115,sleep(3),null) --+"}
r = requests.get('http://192.168.2.15/sqli-labs/Less-9', params=payload)
roundtrip = r.elapsed.total_seconds()
print roundtrip
Run Code Online (Sandbox Code Playgroud)

我预计往返时间为3秒,但我得到的值为0.001371,0.001616,0.002228等.我没有正确使用经过的属性吗?

elapsed httpresponse roundtrip python-2.7 python-requests

8
推荐指数
1
解决办法
2万
查看次数

通过bool进行的char往返会发生什么?

C++语言定义对于将一个char转换为bool然后再返回char有什么作用?

char original = 255;
bool next = original;
char final = next;
Run Code Online (Sandbox Code Playgroud)

此外,大多数编译器在这种情况下做了什么,超出了语言保证的范围?

c++ casting boolean roundtrip language-lawyer

7
推荐指数
1
解决办法
2372
查看次数

使用wireshark或其他工具绘制RTT直方图

我有一个小办公室网络,我遇到了巨大的互联网链接延迟.我们有一个简单的网络拓扑:配置为运行ubuntu服务器10.10的路由器的计算机,2个网卡(一个连接到互联网链接,另一个连接到办公网络)和一个连接20台计算机的交换机.我在路由器上收集了一个巨大的tcpdump日志,我想用所有 TCP流的RTT时间绘制直方图,以试图找出这个延迟问题的最佳解决方案.那么,有人可以告诉我如何使用wireshark或其他工具吗?

histogram tcpdump wireshark roundtrip

6
推荐指数
1
解决办法
2万
查看次数

从JSLINT解析树生成JavaScript

使用Crockford的JSLINT,在调用JSLINT()解析一些JavaScript源代码后,它提供了对解析树的访问JSLINT.tree

能够分析树,根据分析对其进行结构更改然后从修改后的树生成新的JavaScript将非常强大.

是否有一个基于JSLINT构建的开源项目,它提供了从解析树到JavaScript的转换?

(这是否可能,即JSLINT是否保留了完整的解析信息,以便对所有重要内容进行往返?)

javascript parsing jslint roundtrip

6
推荐指数
1
解决办法
971
查看次数

是否有任何工具可以使UML模型与代码完全无缝地保持同步?

UML Round-Trip Engineering工具具有无缝同步功能?

理性套房声称这样做.但它的绘制(比罗斯时代更糟糕)是如此昂贵和笨重,以至于它不是大多数部门所能达到的.

令人惊奇的是,免费的Bouml似乎做得非常出色.使用起来感觉太笨重了.它具有很多功能,免费(!),非常快,并且可以很好地逆向工程复杂的C++.它还有一些很好的图表支持,包括一个非常好的序列图.虽然界面是未经抛光的(并且不断在最右边的显示器上打开对话框),但它确实具有非常强大的产品的开端.令人遗憾的是界面非常简陋,需要花费很多精力.也许是因为作者把大部分时间都花在了实际的功能上.有没有人在整个产品生命周期中使用Bouml的经验?

这就留下了昂贵的MagicDraw,功能强大且价格合理的企业架构师,以及外观精美的视觉范例.其中,只有Visual Paradigm对我的项目的C++标题进行逆向工程的问题.

MagicDraw有一种古怪的感觉.虽然复杂C++项目的往返工程是否是无缝的,但仍然有待观察,它本身在逆向工程方面做得很好.他们希望多语言版本超过1800美元,因此它的价格与Rational工具类似.

Enterprise Architect虽然远比大多数便宜,但它似乎可能是最完整的功能.它完美地解析和生成C++.甚至评论和格式都保持不变.有很棒的培训材料.但它不能处理Objective-C,因此对iOS和Mac OS X混合代码项目不太有用.自动序列图生成听起来很棒,但听起来它只适用于Windows .NET项目.

Visual Architect(多语言双向800美元)是我遇到过的最好看的软件建模工具.虽然它可能会有一些往返问题,但很高兴用手工制作模型.它甚至比漂亮的玫瑰,在某些方面.它具有直观的方式,可以在光标处显示您需要的工具.然而正如我所提到的,目前还没有达到让模型与源同步的目标.而且它通常甚至没有通知导入没有完全起作用,或者已经创建了重复的类(具有相同的名称).它还使用对话框使消息参数的输入变得困难,而其他参数则允许在图上正确地更改参数.(免费的Bouml擅长于此,MagicDraw和其他人也是如此.

有没有人发现了一种多语言(Java,C++,C#,ObjC++,Python,Ruby,SQL)往返工程工具,可以处理真实世界的项目,处理自定义(如消息上的自定义参数),但是没有被下一个源代码导入删除?

并且在生成时完全保留所有格式和注释.关闭不够好.如果工具搞乱了源代码格式化,那么开发人员不会希望该工具在其源代码上运行.

uml reverse-engineering roundtrip

5
推荐指数
1
解决办法
1801
查看次数

AJAX诉Web套接字的往返时间

我想问一下,与标准HTTP GET相比,当使用Web套接字(消息)实现时,是否应该期望一些不同的往返时间(向服务器发送一些信息并收到响应).我假设Web套接字已经连接并且DNS已解析.

据我所知,如果GET在底层协议中包含多个往返,那我就不一定了,我不确定.否则我会期待相同的结果.

ajax performance roundtrip websocket

5
推荐指数
2
解决办法
2709
查看次数

好的多人/ mmo客户端<>服务器游戏是否在运动计算中使用延迟?

这里有几个问题.

想象一下,我有客户端A将要向服务器发送以下消息:"START START VVEMENT FORWARD".

服务器不会立即收到此消息,因为延迟会导致延迟.

问题1:ping(或更好:往返时间)是客户端向服务器发送消息并接收响应所需的时间.如果您可以忽略服务器注意到它已收到消息并开始发送响应(这应该非常短)所需的时间,这是否意味着以下内容?

  1. 客户端向服务器发送一些内容所需的时间=往返时间/ 2
  2. 服务器向客户端发送内容所需的时间=往返时间/ 2

因此,当客户端A发送该消息时,服务器将在客户端发送消息后的往返时间/ 2毫秒内接收该消息.这引出了我的下一个问题.

问题2:如果客户端首先发送包,然后在实际执行客户端命令(在这种情况下:向前移动)之前等待往返时间/ 2毫秒以补偿延迟/延迟?

现在,服务器将向所有附近的玩家发送以下消息:"客户端A现在正在向前移动".然后,这些客户端将确保客户端a的角色开始移动,这将引导我进入下一个问题.

问题3:客户端是否应该收到其他客户端已移动的消息,并考虑到此消息是由服务器往返时间/ 2毫秒发送的?那么用于运动计算时间戳的当前时间应该减少往返时间/ 2?

在我看来,所有这些方法都会确保客户端之间的同步得到改善,因为延迟会被考虑在内.这是正确的做事方式吗?大多数其他好的多人游戏都这样做吗?您想提供的任何评论,建议,替代方案或随机但相关的呼喊?提前致谢.

synchronization latency multiplayer roundtrip

3
推荐指数
1
解决办法
7616
查看次数