nginx支持接收带#的url

文章讲述了如何在OpenResty中通过Lua发送包含#的HTTP请求,并证实Nginx确实支持接收这样的URL。作者在location配置中进行了测试,确认了Nginx的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:构造http请求时,如果url带#时,#后面部分不会发送到网络中,即构造http请求时就没有#了。但还是有特殊情况的,网上查很多资料可以做到http请求时url带#,现在用openresty lua实现发送带#的请求。并且验证nginx支不支持接收带#的url。

实践省流版:
1、content_by_lua中

……
sock:send("GET /jt/te#test?key=3 HTTP/1.0\r\n\r\n")
sock:receiveuntil("xxx")
ngx.say(res)
……

2、新的location中:

location /jt {
	if ($request_uri ~ ".*#.*"){
	      return 200 $request_uri\\0;
	}
	return 200 notContain#\\0;
}

以上实验中,发送的http请求带#时,$request_uri也能打印出来,即nginx支持接收带#的url。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值