广东圆心科技网站开发网站模板设计,做网站时候如果添加微信代码,下载国家医保服务平台app,怎么将自己的视频推广出去URL基础知识
URL 是“统一资源定位符”#xff08;Uniform Resource Locator#xff09;的首字母缩写#xff0c;中文译为“网址”#xff0c;表示各种资源的互联网地址。所谓资源#xff0c;可以简单理解成各种可以通过互联网访问的文件#xff0c;比如网页、图像、音频…URL基础知识
URL 是“统一资源定位符”Uniform Resource Locator的首字母缩写中文译为“网址”表示各种资源的互联网地址。所谓资源可以简单理解成各种可以通过互联网访问的文件比如网页、图像、音频、视频、JavaScript 脚本等等。只有知道了它们的URL才能在互联网上获取它们。
URL的一般语法格式为protocol :// hostname[:port] / path / [;parameters][?query]#fragment
例如: https://www.example.com:8080/path/to/index.html?key1value1key2value2#test
协议protocol是浏览器请求服务器资源的方法上例是https://的部分表示使用HTTPS协议。互联网支持多种协议必须指明网址使用哪一种协议默认是HTTP协议。也就是说如果省略协议直接在浏览器地址栏输入www.example.com那么浏览器默认会访问http://www.example.com。
主机host是资源所在的网站名或服务器的名字又称为域名。一个URL中也可以使用IP地址作为域名。
同一个域名下面可能同时包含多个网站它们之间通过端口port区分。跟在域名后面的是端口域名和端口之间使用“:”作为分隔符。端口不是一个URL必须的部分如果省略端口部分将采用默认端口80。
路径path是资源在网站的位置。比如/path/to/index.html这个路径指向网站的/path/to子目录下面的网页文件index.html。路径可能不包含文件名比如/path/to/甚至结尾的斜杠都可以省略。这时服务器通常会默认跳转到该目录里面的index.html文件。
查询参数parameter是提供给服务器的额外信息。参数的位置是在路径后面两者之间使用?分隔上例是?key1value1key2value2。查询参数可以有一组或多组。每组参数都是键值对key-value pair的形式同时具有键名(key)和键值(value)它们之间使用等号连接。比如key1value就是一个键值对key1是键名value1是键值。多组参数之间使用连接比如key1value1key2value2。
#代表网页中的一个位置。其右面的字符就是该位置的标识符。比如http://www.example.com/index.html#print就代表网页index.html的print位置。浏览器读取这个URL后会自动将print位置滚动至可视区域。
的作用有2个一是连接作用比如
http://www.xxx.com/Show.asp?id77nameid2905210001page1
二是清除缓存比如
http://www.xxxxx.com/index.html
http://www.xxxxx.com/index.html?test123123
两个url打开的页面一样但是后面这个有问号说明不调用缓存的内容而认为是一个新地址重新读取。
URL编码
对于url来说之所以要进行编码是因为url中有些字符会引起歧义。例如url参数字符串中使用keyvalue键值对这样的形式来传参键值对之间以符号分隔如/sqabcieutf-8。如果你的value字符串中包含了或者那么势必会造成接收url的服务器解析错误因此必须将引起歧义的和符号进行转义也就是对其进行编码。
需要注意的是对于url中的合法字符编码和不编码是等价的。正常情况浏览器会自动编码但是通过burp拦截并修改请求时没有经过浏览器编码需注意手动编码。
任何基于URL的输入在分配相关变量之前都会在服务器端自动进行URL解码。这意味着就大多数服务器而言查询参数中的%22、%3D和%3E等序列分别与“”、“”和“”字符同义。换句话说您可以通过URL注入URL编码的数据而后端应用程序通常仍能正确解释这些数据。
URL的编码格式采用的是ASCII码转换成十六进制并在前面加上“%”而不是Unicode。URL只允许用ASCII字符集中可打印的字符(0x20--0x7e)其中某些字符在HTTP协议里有特殊的意义所以有些也不能使用。这里有个需要注意的””加号代表URL编码的空格%20也是。将需要编码的字符的ASCII转为16进制前面加上%编码成%XY格式。例如空格ASCII码是32对应16进制是20那么urlencode编码结果是%20。
URL 编码的原则是使用安全字符去表示那些不安全的字符。URL编码协议规定RFC3986协议URL中只允许使用ASCII字符集可以显示的字符比如英文字母、数字、和- _ . ~ ! *这6个特殊字符。除了无法显示的字符需要编码外还需要对 URL 中的部分保留字符和不安全字符进行编码。
URL中规定了一些具有特殊意义的字符常被用来分隔两个不同的 URL 组件这些字符被称为保留字符。例如
“”用于分隔协议和主机组件
“/”用于分隔主机和路径
“”用于分隔路径和查询参数等。
“”用于表示查询参数中的键值对。
“”符号用于分隔查询多个键值对。
下表列出了 URL 中部分保留字符和不安全字符的URL编码