摘要

本文档定义了在WWW浏览器的URL中执行的文本IPv6地址的格式。在包括Microsoft的IE,Mozilla和Lynx等几个已经被广泛安装使用的浏览器的IPv6版本中,这种格式已经被使用。并且这种格式也将被应用于服务定位协议的IPv6版本中。
本文档包括了一个对在RFC2396[URL]被定义的统一资源标识符中的一般性语法的更新。为了这个预定目标,本文档明确定义了IPv6地址的语法规则并允许在统一资源标识符中使用“[”和“]”符号。

1.介绍

在[ARCH]中定义的文本IPv6地址的原文表述不能直接和URL的表述方法相适应。尽管两者都使用符号“:”和“.”作为分隔符。本文档定义了在WWW浏览器的URL中执行的文本IPv6地址的格式。其目的就是为了得到一种格式,能够很容易的使用剪切和粘贴操作以使文本地址编辑操作达到最少。
在包括Microsoft的IE,Mozilla和Lynx等几个已经被广泛安装使用的浏览器的IPv6版本中,这种格式已经被使用。并且这种格式也将被应用于服务定位协议的IPv6版本中。

1.1要求

如果本文档中任何地方出现关键词MUST,MUSTNOT,REQUIRED,SHALL,SHALLNOT,SHOULD,SHOULDNOT,RECOMMENDED,MAY,以及OPTIONAL,都将和它们在[KEYWORDS]中的定义一致。
WWW浏览器‘SHOULD’(应当)在URL中使用本文档定义的IPv6文本格式。其它一些使用URL的应用和协议‘MAY’(可以)用这种格式。

2.URL语法中的IPv6地址文本格式

为了在一个URL中使用一文本IPv6地址,文本地址应该用符号“[”和“]”来封闭。例如下列文本IPv6地址:
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
1080:0:0:0:8:800:200C:4171
3ffe:2a00:100:7031::1
1080::8:800:200C:417A
::192.9.5.5
::FFFF:129.144.52.38
2010:836B:4179::836B:4179
就应该写做下列URL示例:
http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html
http://[1080:0:0:0:8:800:200C:417A]/index.html
http://[3ffe:2a00:100:7031::1]
http://[1080::8:800:200C:417A]/foo
http://[::192.9.5.5]/ipng
http://[::FFFF:129.144.52.38]:80/index.html
http://[2010:836B:4179::836B:4179]

3.对RFC2396的修改

本文档包括了一个对在RFC2396[URL]被定义的统一资源标识符中的一般性语法的更新。为了这个预定目标,本文档明确定义了IPv6地址的语法规则并允许在统一资源标识符中使用“[”和“]”符号。

对RFC2396中语法的一些改变如下:
(1)在‘主机(host)’末端增加一节IPv6项:
主机=主机名|IPv4地址|IPv6参考地址
ipv6参考地址="["IPv地址"]"
这里的IPv6地址和RFC2373[ARCH]中定义的一致。
(2)由于RFC2373中“IPv4地址”的定义更清晰的说明了IPv4地址是由每节最多三个
十进制数组成的,所以用这个定义来替换RFC2396中的定义。
(3)在’设定‘符号组中增加“[”和“]”:
设定(reserved)=";"|"/"|"?"|":"|"@"|"&"|"="|"+"|
"$"|","|"["|"]"
并且把它们从’非合理‘符号组中去掉:
非合理(unwise)="{"|"}"|"|"|"\"|"^"|"`"

4.安全考虑

这种在URL中使用文本IPv6地址的表述方法的应用不会引起任何新的已知安全问题。

5.IANA的考虑

ipv6地址在URL中的表达方式,如何在URL地址中包含ipv6地址的更多相关文章

  1. 中文字体在CSS中的表达方式

    在写一个网站的样式表的时候,都会不可避免地用到一些中文字体,比如说微软雅黑.黑体等,除非是做英文站,或者说你乐意整站都用浏览器默认的字体,那我也算服了U.在 CSS 中写入中文字体的方法一般采用 fo ...

  2. c# 中的 protected internal 如何在 vc.net 中实现

    c# 中有 protected internal 的复合访问属性, 保证assembly内部访问,以及外部的派生类访问 vc.net 中无法直接写上 protected internal, 其对应的写 ...

  3. 你好,C++(9)坐216路公交车去买3.5元一斤的西红柿——C++中如何表达各种数值数据 3.3 数值数据类型

    3.3  数值数据类型 从每天早上睁开眼睛的那一刻开始,我们几乎每时每刻都在与数字打交道:从闹钟上的6点30分,到上班坐的216路公共汽车:从新闻中说的房价跌到了100元每平米到回家买菜时的西红柿3. ...

  4. dubbo初认知(dubbo和springCloud关系,在微服务架构中的作用等)(持续更新中)

    一:dubbo是什么? dobbuo是阿里开源的一个高性能优秀的服务框架, 可通过高性能的 RPC 实现服务的输出和输入功能,使得应用可以和 高性能的rpc实现输入和输出的功能,可以了  Spring ...

  5. PHP中$_SERVER获取当前页面的完整URL地址

    PHP中$_SERVER获取当前页面的完整URL地址,其实很简单,主要是通过$_SERVER超全局变量来实现的. 具体PHP中$_SERVER获取当前页面的完整URL地址如下. #测试网址:     ...

  6. python中字符串的几种表达方式(用什么方式表示字符串)

    说明: 今天在学习python的基础的内容,学习在python中如何操作字符串,在此记录下. 主要是python中字符串的几种表达,表示方式. python的几种表达方式 1 使用单引号扩起来字符串 ...

  7. python flask学习第2天 URL中两种方式传参

    新创建项目   自己写个url映射到自定义的视图函数 在url中传递参数 app.py from flask import Flask app = Flask(__name__) @app.route ...

  8. python中字符串的四种表达方式

    今天在学习python的基础的内容,学习在python中如何操作字符串,在此记录下. 主要是python中字符串的几种表达,表示方式. python的几种表达方式 1 使用单引号扩起来字符串 > ...

  9. easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)

    easyui datagrid 禁止选中行   没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...

随机推荐

  1. Python---基础---dict_tuple_set

    2019-05-21 ------------------------ help(tuple) ------------------------- Help on class tuple in mod ...

  2. Nginx-配置负载均衡实例

    配置负载均衡实例 实现效果: 配置负载均衡 实验代码 1) 首先准 备两个同时启动的 Tomcat 2) 在 nginx.conf 中进行配置 随着互联网信息的爆炸性增长,负载均衡(load bala ...

  3. RMQ HelloWorld

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11791681.html Project Directory Maven Dependency < ...

  4. 树状数组(一维&二维函数)

    //一维 void add(int x,int p) { while(x<=n)t[x]+=p,x+=(x&(-x)); } int query(int x) { int ans=0; ...

  5. socket函数库简单封装

    #pragma once #ifndef WINSOCK_H #include<WinSock2.h> #pragma comment(lib,"ws2_32.lib" ...

  6. 【HDOJ6641】TDL(数论)

    题意:定义f(n,m)是第m小的数字x,使得x>n且gcd(x,n)=1 已知 求最小的n使得 k<=1e18,m<=1e2 思路: #include<bits/stdc++. ...

  7. CSU 1556 Jerry's trouble

    题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1556 Description Jerry is caught by Tom. He ...

  8. StringTokenizer拆分字符串

    今天要做一个过滤特殊字符的需求, 看了下公司以前过滤特俗字符代码, 用的居然是 StringTokenizer, 完全不熟悉啊, 于是恶补了一下, 把StringTokenizer在JDK中的文档也翻 ...

  9. Linux_Bash脚本基础

    目录 目录 Bash使用基础 if 语句 运算符 逻辑表达式 不将执行指令的结果显示出来 echo 语句 从Bash接受输入参数 Case语句 循环 for 语句 While语句 内置变量和函数 AW ...

  10. 云计算openstack核心组件——keystone身份认证服务

    一.Keystone介绍:       keystone 是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证.令牌的发放和校验.服务列表.用户 ...