这几天之所以去了解这个,就是之前埋下的雷,自定义名称用了下划线_,前两天莫名其妙犯病一直获取不了,以为是被浏览器或是nginx拦截了,开始考虑是否是这个名称的问题,然而debug两天,结果是代码里一个变量名忘了改......我的天,我真的会哭
正文
- 第一点,既然这个字段是我们自定义的,那名称肯定要避开协议中已经存在的字段的名称(如Host,Referer等都不能用)
- 注意请求头的名称不区分大小写,但会区分 - _ 等符号
- 例如:
- HelloWorld和helloworld等价,如果请求头中实际名称是HelloWorld,但在读取时直接传入helloworld也是可以获取到的。(因为标准是这么规定的,解析库在设计时也应当支持这个操作)
- HelloWorld 和 Hello-World 和 Hello_World,三者都不一样
- 例如:
- 名称里不应包含 空白符、换行符、下划线、冒号
- 连接符号可以使用短横杠,即减号 -
- 例如:
- 允许:HelloWorld、Hello-World、helloworld
- 但不应:Hello World、Hello:World、Hello_world等
- 其中,如果硬要使用下划线_,在nginx的nginx.conf配置文件内的http部分内需要配置一句:
- underscores_in_headers on;
- 这句配置会允许nginx放行包含下划线的请求头字段,否则nginx会默认把上述不符合要求的几种情况的字段全部去掉,然后再把这个请求转发过来,因此导致后端程序获取不到自定义的那个字段。
- 有时我们会看到一些网站在命名自定义字段时使用 X- 开头的格式,然而早在2012年6月,标准RFC 6648就明确弃用这一建议:
3.对新参数的创建者的建议
......
不建议在其参数名称前加上“X-”或类似的结构。
对协议设计者的建议
......
不应禁止注册具有“X-”前缀或类似结构的参数。
绝不能规定具有“X-”前缀或类似结构的参数需要被理解为非标准化。
绝不能规定没有“X-”前缀或类似结构的参数需要被理解为标准化。
- -
- 也就是说,X- 并没有什么特别的效果,它是以前的一种规范建议,而现在已经不建议了,继续用X-开头也没问题,但并不建议你这样干。
canadian pharmacies compare: Large Selection of Medications from Canada – canadian pharmacy meds
mail order pharmacy india mail order pharmacy india reputable indian online pharmacy
http://indiaph24.store/# buy medicines online in india
canadian online drugs Prescription Drugs from Canada canadian pharmacy ltd
77 canadian pharmacy Large Selection of Medications from Canada canada online pharmacy
top 10 pharmacies in india top 10 online pharmacy in india top online pharmacy india
india pharmacy mail order indian pharmacy paypal india pharmacy
https://mexicoph24.life/# best online pharmacies in mexico
buying prescription drugs in mexico Mexican Pharmacy Online buying prescription drugs in mexico
india pharmacy mail order pharmacy india buy medicines online in india
http://indiaph24.store/# indian pharmacy
reputable indian online pharmacy: indian pharmacy fast delivery – indian pharmacy online
mail order pharmacy india Generic Medicine India to USA п»їlegitimate online pharmacies india
mexican online pharmacies prescription drugs cheapest mexico drugs mexican mail order pharmacies
https://canadaph24.pro/# buying drugs from canada
indian pharmacy online п»їlegitimate online pharmacies india indian pharmacy paypal
top 10 pharmacies in india: indian pharmacy fast delivery – top online pharmacy india
legitimate canadian mail order pharmacy canadian pharmacies ordering drugs from canada
https://canadaph24.pro/# canadian pharmacy
canada drug pharmacy Licensed Canadian Pharmacy canadian pharmacy 24h com safe
п»їlegitimate online pharmacies india indian pharmacy fast delivery top 10 online pharmacy in india
buy drugs from canada: Prescription Drugs from Canada – canadian pharmacy in canada
http://mexicoph24.life/# pharmacies in mexico that ship to usa
prescription drugs canada buy online canadian pharmacies online canadian pharmacy
canadian pharmacy cheap: canadian pharmacies – canadian pharmacy
http://indiaph24.store/# best india pharmacy
mexican pharmaceuticals online mexican pharmacy mexican online pharmacies prescription drugs
medicine in mexico pharmacies mexican pharmacy best online pharmacies in mexico
https://mexicoph24.life/# pharmacies in mexico that ship to usa
reputable indian online pharmacy top 10 pharmacies in india online pharmacy india
canadian pharmacy no rx needed Prescription Drugs from Canada canadian pharmacies online
http://canadaph24.pro/# canadian pharmacy meds
medication from mexico pharmacy Online Pharmacies in Mexico mexican pharmacy
п»їbest mexican online pharmacies Mexican Pharmacy Online reputable mexican pharmacies online
http://canadaph24.pro/# canadian pharmacy online
mexican rx online buying prescription drugs in mexico mexican pharmaceuticals online
canadianpharmacymeds canadian pharmacies canadian pharmacy phone number
https://mexicoph24.life/# purple pharmacy mexico price list
medicine in mexico pharmacies: mexico pharmacy – mexican mail order pharmacies
indian pharmacy indian pharmacy best online pharmacy india
https://casinvietnam.com/# casino tr?c tuy?n
http://casinvietnam.shop/# web c? b?c online uy tin
casino online uy tin web c? b?c online uy tin web c? b?c online uy tin
choi casino tr?c tuy?n tren di?n tho?i casino tr?c tuy?n uy tin choi casino tr?c tuy?n tren di?n tho?i
http://casinvietnam.com/# casino tr?c tuy?n
danh bai tr?c tuy?n game c? b?c online uy tin casino tr?c tuy?n vi?t nam
choi casino tr?c tuy?n tren di?n tho?i casino tr?c tuy?n vi?t nam casino tr?c tuy?n
https://casinvietnam.shop/# casino tr?c tuy?n vi?t nam
http://casinvietnam.shop/# casino online uy tin
canadian online pharmacy no prescription: canadian pharmacy coupon – canadian online pharmacy no prescription