服务端获取接口header数据问题排查

91 阅读1分钟

问题现象: 通过php的larave框架接收名字为client_no的header参数时发现服务端总是得不到这个参数的值

原因: HTTP头参数的标准命名规范是使用连字符(hyphen -),即中划线。但Laravel框架会自动将头参数中的连字符转换为下划线(_)。所以:

  1. 如果客户端发送的是client-no,服务端应该用$request->header('client_no')获取

  2. 如果客户端发送的是client_no,服务端可能获取不到(取决于HTTP服务器配置)