精华内容
下载资源
问答
  • 解析url中的#、&、?的作用和意义

    千次阅读 2018-10-11 15:36:15
    twitter改版,一个显著变化,就是URL加入了"#!"符号。比如,改版前的用户主页网址为 http://twitter.com/username 改版后,就变成了 http://twitter.com/#!/username 这...

    twitter改版,一个显著变化,就是URL加入了"#!"符号。比如,改版前的用户主页网址为

    http://twitter.com/username
    

    改版后,就变成了

    http://twitter.com/#!/username
    

    这是主流网站第一次将"#"大规模用于重要URL中。这表明井号(Hash)的作用正在被重新认识。

    一、#的涵义

    #代表网页中的一个位置。其右面的字符,就是该位置的标识符。比如,

    http://www.example.com/index.html#print
    

    就代表网页index.html的print位置。浏览器读取这个URL后,会自动将print位置滚动至可视区域。

    为网页位置指定标识符,有两个方法。一是使用锚点,比如<a name="print"></a>,二是使用id属性,比如<div id="print">

    二、HTTP请求不包括

    #是用来指导浏览器动作的,对服务器端完全无用。所以,HTTP请求中不包括#。

    比如,访问下面的网址,

    http://www.example.com/index.html#print
    

    浏览器实际发出的请求是这样的:

    GET /index.html HTTP/1.1
    
    Host: www.example.com
    

    可以看到,只是请求index.html,根本没有"#print"的部分。

    三、#后的字符

    在第一个#后面出现的任何字符,都会被浏览器解读为位置标识符。这意味着,这些字符都不会被发送到服务器端。

    比如下面URL的原意是指定一个颜色值:

    http://www.example.com/?color=#fff
    

    但是,浏览器实际发出的请求是:

    GET /?color= HTTP/1.1
    
    Host: www.example.com
    

    可以看到,"#fff"被省略了。只有将#转码为#,浏览器才会将其作为实义字符处理。也就是说,上面的网址应该被写成:

    http://example.com/?color=#fff
    

    四、改变#不触发网页重载

    单单改变#后的部分,浏览器只会滚动到相应位置,不会重新加载网页。

    比如,从

    http://www.example.com/index.html#location1
    

    改成

    http://www.example.com/index.html#location2
    

    浏览器不会重新向服务器请求index.html。

    五、改变#会改变浏览器的访问历史

    每一次改变#后的部分,都会在浏览器的访问历史中增加一个记录,使用"后退"按钮,就可以回到上一个位置。

    这对于ajax应用程序特别有用,可以用不同的#值,表示不同的访问状态,然后向用户给出可以访问某个状态的链接。

    值得注意的是,上述规则对IE 6和IE 7不成立,它们不会因为#的改变而增加历史记录。

    六、window.location.hash读取#值

    window.location.hash这个属性可读可写。读取时,可以用来判断网页状态是否改变;写入时,则会在不重载网页的前提下,创造一条访问历史记录。

    七、onhashchange事件

    这是一个HTML 5新增的事件,当#值发生变化时,就会触发这个事件。IE8+、Firefox 3.6+、Chrome 5+、Safari 4.0+支持该事件。

    它的使用方法有三种:

    window.onhashchange = func;
    
    <body onhashchange="func();">
    
    window.addEventListener("hashchange", func, false);
    

    对于不支持onhashchange的浏览器,可以用setInterval监控location.hash的变化。

    八、Google抓取#的机制

    默认情况下,Google的网络蜘蛛忽视URL的#部分。

    但是,Google还规定,如果你希望Ajax生成的内容被浏览引擎读取,那么URL中可以使用"#!",Google会自动将其后面的内容转成查询字符串_escaped_fragment_的值。

    比如,Google发现新版twitter的URL如下:

    http://twitter.com/#!/username

    就会自动抓取另一个URL:

    http://twitter.com/?_escaped_fragment_=/username
    

    通过这种机制,Google就可以索引动态的Ajax内容。

    2. ?

    1)连接作用:比如

    http://www.xxx.com/Show.asp?id=77&nameid=2905210001&page=1
    

    2)清除缓存:比如

    http://www.xxxxx.com/index.html 
    http://www.xxxxx.com/index.html?test123123
    

    两个url打开的页面一样,但是后面这个有问号,说明不调用缓存的内容,而认为是一个新地址,重新读取。

    3. &

    不同参数的间隔符

    展开全文
  • 反向解析 主路由 path('',include(('index.urls'),namespace='home')), 子路由 url(r'^home/',views.home,name='index') 此时,运行我们的django项目,提示以下错误信息: ` 'Specifying a namespace in ...
    • 反向解析
      • 主路由
        • path('',include(('index.urls'),namespace='home')),
      • 子路由
        • url(r'^home/',views.home,name='index')
      • 此时,运行我们的django项目,提示以下错误信息:
        • ` 'Specifying a namespace in include() without providing an app_name ’
          django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or p
          ass a 2-tuple containing the list of patterns and app_name instead.
        • 这个的错误提示的意思大概是,我们需要提供app_name的名称,系统无法自己识别
      • 作出如下修改:
        • 主路由:
          • path('',include(('index.urls','index'),namespace='home')),
        • 子路由:
          • app_name='index'
          • url(r'^home/',views.home,name='index')
      • 此时正常运行
    • 模板继承
      • Django项目开发中,使用MTV式开发,推荐使用block+extends
        • 使用block+extends开发方式,效率更高
        • 使用include开发方式,效率不高
     在模板页使用:
    		{% block index %}
    			模板内容
    		{% endblock %}或{% endblock index %}
    在子模板中,继承该模板页:
      		{% extends "index.html" %}  
      在子模板中,重写改模板中某一位置内容:
      		{% block index %}
      				……
      		{% endblock %}或{% endblock index %}
      在子模板中,使用原有模板内容,添加另外内容:
      		{{ block.super }}
    
    展开全文
  • fastJson解析URL中&特殊字符报错

    千次阅读 2019-04-09 22:35:02
    ,导致JSON解析报错。 2.报错信息 网上搜索这个错误,大部分观点是JSON中含有特殊字符。还有人说是fastjson版本,字符串编码等问题,最后被逐一排除,定位到是含有特殊字符& json文件中含有如下的URL: 3.解决...

    1.楔子

    在做消息推送的时候,突然报出一个fastJosn解析json错误的报错,找了好久都终于发现是因为URL中含有特殊字符需要转义的字符&,导致JSON解析报错。

    2.报错信息

    在这里插入图片描述
    网上搜索这个错误,大部分观点是JSON中含有特殊字符。还有人说是fastjson版本,字符串编码等问题,最后被逐一排除,定位到是含有特殊字符&
    json文件中含有如下的URL:
    在这里插入图片描述

    3.解决方式

    定位到时特殊字符后,然后在JSON中找可能存在的特殊字符,可能是?、&等,最后人肉战术,锁定是&搞的鬼。
    解决方式是把&替换为%26
    在这里插入图片描述

    4.为什么需要Url编码

    通常如果一样东西需要编码,说明这样东西并不适合传输。原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义

    例如Url参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/s?q=abc& ie=utf-8。如果你的value字符串中包含了=或者&,那么势必会造成接收Url的服务器解析错误,因此必须将引起歧义的&和= 符号进行转义,也就是对其进行编码。(对value字符串进行编码)

    又如,Url的编码格式采用的是ASCII码,而不是Unicode,这也就是说你不能在Url中包含任何非ASCII字符,例如中文。否则如果客户端浏览器和服务端浏览器支持的字符集不同的情况下,中文可能会造成问题。

    Url编码的原则就是使用安全的字符(没有特殊用途或者特殊意义的可打印字符)去表示那些不安全的字符

    5.如何对Url中的非法字符进行编码

    Url编码通常也被称为百分号编码(Url Encoding,also known as percent-encoding),是因为它的编码方式非常简单,使用%百分号加上两位的字符——0123456789ABCDEF——代表一个字节的 十六进制形式。
    Url编码默认使用的字符集是US-ASCII。例如a在US-ASCII码中对应的字节是0x61,那么Url编码之后得到的就 是%61,我们在地址栏上输入http://g.cn/search?q=%61%62%63,实际上就等同于在google上搜索abc了。又如@符号 在ASCII字符集中对应的字节为0x40,经过Url编码之后得到的是%40。

    6.参考文献

    展开全文
  • 报错解释:没有协议 我就debug了一下,发现url地址写的有误,多加了个GET

    报错解释:没有协议
    我就debug了一下,发现url地址写的有误,多加了个GET
    在这里插入图片描述

    展开全文
  • window.URL.createObjectURL()在IE10, IE11中报“Error: 拒绝访问的”错误. 解决方式 const pdfData = new Blob([content], { type: ‘text/csv’ }); if (window.navigator && window.navigator....
  • 访问链接报错 500 Internal Privoxy Error 500 Internal Privoxy Error Privoxy encountered an error while processing your request: Could not load template file no-server-data or one of its included ...
  • jsx写法不能解析报错,require.context不能获取png或svg欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表...
  • URL报错:unknown protocol

    2021-02-25 09:57:45
    URL报错:unknown protocol,未知协议 问题分析: 在使用new URL(filePath)出现此错误,原因是传入的字符串不是一个URL,所以无法识别。 解决方法: 若是本地文件,检查路径前面是否添加了file:// 示例:String ...
  • SAXReader 解析xml解析报错。关于读取xml文件是的格式设置问题。 public Document BufferStreamXML(String spec, int size) { URL url; Document document=null; List&lt;Item&gt; list=new ArrayList...
  • 这个报错当时也是试了网上很多方法,在Tomcat目录下的lib文件夹中加入jstl包和standard.jar,在项目WEB/INF的lib导入这两个包也没解决。 解决办法: WEB/INF的lib下,除了导入jstl.jar包,还要导入standard.jar...
  • url路径直接向Servlet传json字符串解析报错
  • 报错原因如下: There was an unexpected error (type=Internal Server Error, status=500). Error resolving template “/print/printHtml”, template might not exist or might not be accessible by any of the ...
  •  IE下activiti工作流解析xml报错type "path" must be followed by either attribute specifications, ">" or "/>"  Chrome和Firefox正常 2、问题定位  2.1 服务端是同一台服务器同一个实例,IE报错,谷....
  • 用真机测试,结果每次执行到"inputStream = xxx"都会报错: java.net.UnKnownHostException: http://ftp121455.host181.web522.com 有的时候手机上同样的两个工程,函数都一样的,一个可以另一个不可以。 用...
  •  IE下 activiti工作流解析xml报错 type "path" must be followed by either attribute specifications, ">" or "/>"  Chrome和Firefox正常 2、问题定位  2.1 服务端是同一台服务器同一个实例,IE报错...
  • json解析报错Uncaught SyntaxError: Unexpected identifier的解决方法错误现象解决方法原因分析 错误现象 如题,在做前台解析后台传递的json对象的时候出现这个错误,其他代码很简单,如下: $.getJSON("Index_...
  • 场景 在调用别人接口时返回的token如下: { "token": "eyJ0eeqOiJKV1...返回来的字符串里什么特殊符号都有,彼时项目中使用的是GSON,解析字符串时解析到反斜杠\时直接报错,返回一番搜寻后,使用了fastjson来对字符
  • 前言 工作中遇到的需求:上传相册中的图片,判断这个图片里的二维码是不是微信二维码,如果是则上传到...可以将 url 转成二维码,但是用 qrcode.decode 时解析二维码图片时,一直提示 Github 地址:https://github.com/
  • public void download(String urlString, String filename) throws Exception{ // 构造URL URL url = new URL(urlString); // 打开连接 URLConnection con = url.openConnection(); // 输入流 ...
  • 解析url函数parse_url()

    2019-03-02 09:20:45
    https://www.cnblogs.com/gengyi/p/6390084.html
  • 原因:由于tomcat的新版本增加了一个新特性,就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符(RFC3986中指定了...
  • [图片说明](https://img-ask.csdn.net/upload/201705/11/1494471957_193433.png),创建之后我想把里面的文字和换行样式解析出来,就是解析不出来报![图片说明]...
  • 请求带上花括号等字符,请求无法送达服务端,报错: Failed to load resource: the server responded with a status of 400 () https://blog.csdn.net/Carino_U/article/details/78973120 用springboot开发接口时...
  • 在平常使用JSON进行跳转传参时都是正常的,但是今天用不知道为什么进行了报错Unexpected end of JSON input, 原因 在网上找到了答案是因为传递的参数中有识别不到的内容,我传递的参数里面包含了富文本,所以没有...
  • 项目开发需要先下载excel文件,然后解析出内容,最后将内容分批次下发给APP端。 在创建Excel的解析实例Workbook时,发现构造函数的入参是InputStream,心中窃喜。 public static Workbook getWorkbook...
  • python 中 json解码时候 解析数据会报错报错 ‘unicode’ object has no attribute ‘has_key’ 这是因为我们在使用python的 json.loads() 时候. 会将json的string类型转换为 python的unicode类型,这个...
  • 关于RestTemplate请求url返回报错Invalid mime type "image": does not contain '/'的原因 在调用下载文件接口时报错如下,意思为无效的媒体类型,没有包含"/"。 在搜索资料后,发现同样的错误是由于url被转义...
  • 编译报错,可以确定相对路径没问题 通过google查到 https://github.com/webpack-contrib/css-loader/issues/74 修改为background-image: url('\./static/dark_blue.jpg');问题解决 如果路径为上级目录,则...
  • vue-cli3中baseUrl报错

    2019-11-12 17:17:05
    1.处理方式 baseUrl:'./'改为 publicPath:'./',

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 88,912
精华内容 35,564
关键字:

url解析报错