您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

域名可以多长?URL长度URI长度?

时间:2022-12-10 15:39:14  来源:今日头条  作者:Mac乐

今天配置下分析下Nginx关于URI的部分,另外需要看下DNS的长度.简单而已,DNS长度不超过255个octets.我们是用.来分割域名的,那么每个点之间的长度不超过63个octets.

Nginx本身对于传参的长度大小支持决定于
large_client_header_buffers

下面是详细分析过程.

 

nginx location

  • 块通过指定模式来与客户端请求的URI相匹配 Sets configuration depending on a request URI.
  • What's different between URI, request-URI and URL? https://stackoverflow.com/questions/34849543/whats-different-between-uri-request-uri-and-url
  • What's different between URI, request-URI and URL?
  • URI vs. URL
  • http://nginx.org/en/docs/http/ngxhttpcore_module.html#location

nginx largeclientheader_buffers

reference:
https://www.digitalocean.com/community/tutorials/understanding-nginx-http-proxying-load-balancing-buffering-and-caching
http://nginx.org/en/docs/http/ngxhttpcoremodule.html#largeclientheaderbuffers
http://nginx.org/en/docs/http/ngxhttpproxymodule.html#proxybuffers
Our nginx.conf configure // largeclientheader_buffers 4 32k;
dump conf from running nginx process ==> As of Nginx 1.9.2 you can dump the Nginx config with the -T flag: ==> /sbin/nginx -T
-t — test the configuration file: nginx checks the configuration for correct syntax, and then tries to open files referred in the configuration.
-T — same as -t, but additionally dump configuration files to standard output (1.9.2). http { include mime.types; default_type Application/octet-stream; #increase proxy buffer size proxy_buffer_size 32k; proxy_buffers 4 128k; proxy_busy_buffers_size 256k; #increase the header size to 32K large_client_header_buffers 4 32k;
  • 1kb=1024 位1kB=1024 字节
Nginx
  如果您的 nginx 错误日志包含 client sent too long URI while reading client request line,则表示请求 URI 已超出允许的限制。
  在 nginx 中,允许的最大 URI 长度由 large_client_header_buffers 指令定义,它由两个值组成:缓冲区的数量和大小。 它默认为 4 8k,这意味着 Nginx 将每个请求行限制为 8 KB。
  large_client_header_buffers 4 128K;
  设置用于读取大型客户端请求标头的缓冲区的最大数量和大小。 一个请求行不能超过一个缓冲区的大小,否则会向客户端返回 414(Request-URI Too Large)错误。 请求头字段也不能超过一个缓冲区的大小,否则返回 400(Bad Request)错误给客户端。 缓冲区仅按需分配。 默认情况下,缓冲区大小等于 8K 字节。 如果在请求处理结束后连接转换为保持活动状态,则释放这些缓冲区。
  设置读取客户端请求头的缓冲区大小。对于大多数请求,1K 字节的缓冲区就足够了。但是,如果请求中包含长 cookie,或者来自 WAP 客户端,则可能 1K 是不适用的。如果请求行或请求头域不适合此缓冲区,则会分配由 large_client_header_buffers 指令配置的较大缓冲区

linux configure

  • keyword for search [nginx upstream proxy length ]
  • https://www.cyberciti.biz/faq/nginx-upstream-sent-too-big-header-while-reading-response-header-from-upstream/
  • Use the getconf command to find os level page size value in bytes:
  • getconf PAGESIZE 4096

common nginx.conf

```
gsutil cat gs://nginx/a.conf

service=name
enables resolving of DNS SRV records and sets the service name (1.9.13). In order for this parameter to work, it is necessary to specify the resolve parameter for the server and specify a hostname without a port number.
If the service name does not contAIn a dot (“.”), then the RFC-compliant name is constructed and the TCP protocol is added to the service prefix. For example, to look up the _http._tcp.backend.example.com SRV record, it is necessary to specify the directive:

server backend.example.com service=http resolve;
If the service name contains one or more dots, then the name is constructed by joining the service prefix and the server name. For example, to look up the _http._tcp.backend.example.com and server1.backend.example.com SRV records, it is necessary to specify the directives:

server backend.example.com service=_http._tcp resolve;
server example.com service=server1.backend resolve;
Highest-priority SRV records (records with the same lowest-number priority value) are resolved as primary servers, the rest of SRV records are resolved as backup servers. If the backup parameter is specified for the server, high-priority SRV records are resolved as backup servers, the rest of SRV records are ignored.
```

dns length

  • https://en.wikipedia.org/wiki/Hostname
    • Hostnames are composed of a sequence of labels concatenated with dots. For example, "en.wikipedia.org" is a hostname. Each label must be from 1 to 63 characters long.[2] The entire hostname, including the delimiting dots, has a maximum of 253 ASCII characters.[3]
    • https://www.ietf.org/rfc/rfc1035.txt
    • 2.3.4. Size limits Various objects and parameters in the DNS have size limits. They are listed below. Some could be easily changed, others are more fundamental. labels 63 octets or less names 255 octets or less TTL positive values of a signed 32 bit number. UDP messages 512 octets or less 1. DOMAIN NAME SPACE AND RR DEFINITIONS 3.1. Name space definitions Domain names in messages are expressed in terms of a sequence of labels. Each label is represented as a one octet length field followed by that number of octets. Since every domain name ends with the null label of the root, a domain name is terminated by a length byte of zero. The high order two bits of every length octet must be zero, and the remaining six bits of the length field limit the label to 63 octets or less. To simplify implementations, the total length of a domain name (i.e., label octets and label length octets) is restricted to 255 octets or less. Although labels can contain any 8 bit values in octets that make up a label, it is strongly recommended that labels follow the preferred syntax described elsewhere in this memo, which is compatible with existing host naming conventions. Name servers and resolvers must compare labels in a case-insensitive manner (i.e., A=a), assuming ASCII with zero parity. Non-alphabetic codes must match exactly.
  • https://devblogs.microsoft.com/oldnewthing/20120412-00/?p=7873

about KB

```
首先不同编码,所占字节数不同。
1,ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字度节的空间。
2,UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节
3,Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节

字节是指Byte
字符是一种数据类型,通常是char,更具不同语言,占据不同字节大小。

- 1kb=1024 位1kB=1024 字节
using wc :
  -c, --bytes            print the byte counts
  -m, --chars            print the character counts

]$ echo "local-stackdriver-agent.stackdriver.com"|wc -c
40
$ echo "local-stackdriver-agent.stackdriver.com"|wc -m
40
https://blog.csdn.NET/weixin_48702807/article/details/120199304
  getStringSize(text) {
    let textlength = Buffer.byteLength(text, 'utf8'); //得到占多少 bytes

    let size = textlength / 1024; //得到字符串占多少 KB

    return size.toFixed(2);

  },
```

spring context path limitation

  • spring context path limitation
  @RequestMapping(value = {REST_PREFIX + "/{key}"}, method = {RequestMethod.GET})
  public DashboardItem getExceptionByKey(@PathVariable("key") String key, HttpServletRequest request, HttpServletResponse httpResponse_p) {
      log.info("URL is {}", request.getRequestURL());
      log.info("Key is {}", key);
      return InspectionUtils.getExceptionByKey(key);
  }

 



Tags:URL   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
网站URL的稳定性决定网站权重的高低
在这个信息爆炸的时代,网站如同一个个珍珠,散落在互联网的海洋中。而网站URL就是那串串珍珠的项链,将它们串联起来,成为人们寻找和访问的路径。那么,如何确保这些路径的稳定性,从...【详细内容】
2023-12-28  Search: URL  点击:(102)  评论:(0)  加入收藏
网站收录知识:百度URL主动推送
网站的存在不仅仅是企业或个人展示的窗口,更是获取信息、传播观点的主要途径。然而,即便拥有精彩的内容,如果不被搜索引擎及时收录,就难以在互联网的海洋中脱颖而出。百度URL主...【详细内容】
2023-12-20  Search: URL  点击:(85)  评论:(0)  加入收藏
我们一起聊聊优雅 URL 的设计哲学
本文属于是语冰的直男翻译了属于是,仅供粉丝参考,英文原味版请临幸 Your Website’s URLs Can and Should Be Beautiful。图片制作优雅 URL 的关键是平衡简洁和清晰。可...【详细内容】
2023-11-30  Search: URL  点击:(106)  评论:(0)  加入收藏
Linux技巧:使用cURL将输出保存到文件
cURL是一个功能强大的命令行工具,广泛应用于Linux系统中进行数据传输。它支持多种协议,包括HTTP、HTTPS、FTP等,并且可以将输出轻松保存到文件,从而满足用户在不同场景下的数据...【详细内容】
2023-11-27  Search: URL  点击:(169)  评论:(0)  加入收藏
Ingress企业实战:URL重写与高级玩法
什么是URL重写URL重写(URL rewriting)是一种在Web服务器上修改或转换请求URL的过程。它通常涉及使用服务器配置或规则来更改传入的URL,以便在不改变实际请求资源的情况下,实现不...【详细内容】
2023-08-16  Search: URL  点击:(155)  评论:(0)  加入收藏
Linux系统curl命令使用方法汇总
yum install -y libcurl-dev上传文件curl -F "file=@D:/list.txt" "http://43.254.156.147:10001/files?username=tipdm&course=hadoop%E5%9F%BA%E7%A1%80&chart=hadoop&pat...【详细内容】
2023-07-27  Search: URL  点击:(331)  评论:(0)  加入收藏
输入URL到页面渲染完成
输入URL到页面渲染完成的过程其实是一系列复杂的步骤。下面我会简单地概述这个过程,希望可以帮助你记住:1. URL 输入: 用户在浏览器中输入URL。2. DNS 查询: 浏览器接收到URL后,...【详细内容】
2023-05-24  Search: URL  点击:(188)  评论:(0)  加入收藏
android,ios配置scheme,react-native获取url
scheme协议定义scheme 是一种页面之间跳转的协议,不仅可以用于app之间进行跳转,还可以用于 H5 页面跳转到app页面。 通过scheme协议,服务器可以定制化告诉App跳转那个页面,可以...【详细内容】
2023-03-06  Search: URL  点击:(215)  评论:(0)  加入收藏
如何通过Curl方式进行ElasticSearch增删改查
关于ElasticSearch增删改查的方法有很多,使用curl操作命令总结如下,如有需要可以点击收藏。1、ElasticSearch新增数据如果进行一个类似于SQL的 insert的操作insert into users...【详细内容】
2023-02-27  Search: URL  点击:(390)  评论:(0)  加入收藏
命令行http调试利器curl如何使用?
curl,全称CommandLine URL 或 CommandLine Uniform Resource Locator,顾名思义,curl命令是在命令行方式下工作,利用URL的语法进行数据的传输或者文件的传输。crul的官方网站是 H...【详细内容】
2022-12-19  Search: URL  点击:(273)  评论:(0)  加入收藏
▌简易百科推荐
为什么Nginx被称为“反向”代理呢?
Nginx(发音为"engine-x")是一款高性能、轻量级的开源Web服务器软件,也可用作反向代理服务器、负载均衡器和HTTP缓存。Nginx之所以有被称为“反向”代理,是因为它充当客户端设备...【详细内容】
2024-02-01  coderidea  微信公众号  Tags:Nginx   点击:(60)  评论:(0)  加入收藏
哪种服务器操作系统更好呢?
在当今的IT世界中,服务器操作系统扮演着至关重要的角色。它们是确保服务器能够高效、安全地运行的关键因素。然而,对于许多人来说,服务器操作系统的种类和特点可能是一个复杂的...【详细内容】
2024-01-30    简易百科  Tags:操作系统   点击:(76)  评论:(0)  加入收藏
什么是VPS服务器
VPS服务器是一种虚拟化技术,它将一台物理服务器划分为多个虚拟的独立服务器,每个虚拟服务器都可以拥有自己的操作系统、运行环境、应用程序等。这种技术使得每个虚拟服务器可...【详细内容】
2024-01-30    简易百科  Tags:VPS服务器   点击:(71)  评论:(0)  加入收藏
VPS服务器下载速度慢?这五招帮你提速
VPS服务器下载速度慢可能会让用户感到沮丧,尤其是对于需要大量下载和上传数据的用户。幸运的是,有一些方法可以帮助您提高VPS服务器的下载速度,使您的在线体验更加顺畅。在本文...【详细内容】
2024-01-30  IDC行业观察者    Tags:VPS服务器   点击:(58)  评论:(0)  加入收藏
美国VPS和英国VPS:地理位置对服务器性能的影响
在今天的数字时代,VPS已成为在线业务和网站托管的关键组成部分。然而,选择合适的VPS主机服务时,地理位置通常被忽视,尽管它对服务器性能有着重要的影响。本文将探讨美国VPS和英...【详细内容】
2024-01-26  IDC行业观察者    Tags:服务器   点击:(55)  评论:(0)  加入收藏
如何判断服务器所需带宽:基于业务需求和流量模式的关键考量
在选择服务器时,带宽是一个重要的考虑因素。带宽的大小直接影响到网站的加载速度和用户的访问体验。那么,如何判断服务器需要多大的带宽呢?本文将为你揭示这一关键问题的答案...【详细内容】
2024-01-26  源库科技    Tags:服务器   点击:(75)  评论:(0)  加入收藏
服务器内存空间及IO操作原理解析
服务器的内存空间分为内核空间和用户空间,而我们编写的程序通常在用户空间中运行。在进行读写操作时,我们直接操作的是用户缓冲区,而用户缓冲区的内容来自于内核缓冲区。这种内...【详细内容】
2024-01-23  王建立    Tags:服务器   点击:(44)  评论:(0)  加入收藏
如何在Java环境中安装Nginx?
1. 下载Nginx:首先,前往Nginx官方网站(https://nginx.org/en/download.html)下载新版本的Nginx。选择适合您操作系统的版本,通常有Windows、Linux和Mac等不同操作系统的版本可供...【详细内容】
2024-01-22  敲代码的小动    Tags:Nginx   点击:(63)  评论:(0)  加入收藏
服务器证书和SSL证书有啥区别?
在互联网经济时代,随着越来越多的信息以及合作都是从企业官网开始的,因此绝大多数企业都会为自己的网站配置SSL证书,以提高安全性。在接触SSL证书时,也有很多人称之为服务器证书...【详细内容】
2024-01-10  安信SSL证书    Tags:服务器证书   点击:(65)  评论:(0)  加入收藏
宝塔面板怎样部署java项目?
宝塔面板怎样部署java项目?在使用宝塔面板部署Java项目之前,需要确保已经安装了Java Development Kit (JDK)。接下来,将介绍如何使用宝塔面板来部署Java项目的步骤。步骤一:安装...【详细内容】
2024-01-09  西部数码    Tags:宝塔面板   点击:(115)  评论:(0)  加入收藏
站内最新
站内热门
站内头条