request详解之URL

1.uri和url的区别

简单的来讲,URL就是在浏览器端输入的    http://www.baidu.com    这个字符串。

在理解URL之前,首先要理解URI的概念。

什么是URI?

Web上每种可用的资源,如 HTML文档、图像、视频片段、程序等都由一个通用资源标志符(Universal Resource Identifier, URI)进行定位。 

URI通常由三部分组成:

①访问资源的命名机制;

②存放资源的主机名;

③资源自身 的名称,由路径表示。

如下面的URI:
http://www.why.com.cn/myhtml/html1223/

我们可以这样解释它:

①这是一个可以通过HTTP协议访问的资源,

②位于主机 www.webmonkey.com.cn上,

③通过路径“/html/html40”访问。 


URL是URI的一个子集。它是Uniform Resource Locator的缩写,译为“统一资源定位 符”。

通俗地说,URL是Internet上描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上。

采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。

URL的一般格式为(带方括号[]的为可选项):

protocol :// hostname[:port] / path / [;parameters][?query]#fragment


URL的格式由三部分组成: 

①第一部分是协议(或称为服务方式)。

②第二部分是存有该资源的主机IP地址(有时也包括端口号)。

③第三部分是主机资源的具体地址,如目录和文件名等。

第一部分和第二部分用“://”符号隔开,

第二部分和第三部分用“/”符号隔开。

第一部分和第二部分是不可缺少的,第三部分有时可以省略。


2.通过request获取URL信息

request.getURL()和request.getURI()

  如果我的请求是:http://localhost:8080/ServletTest/servlet/Hello

  request.getRequestURI() 返回值类似:/ServletTest/servlet/Hello

  request.getRequestURL() 返回值类似:http://localhost:8080/ServletTest/servlet/Hello

  再如:

  request.getContextPath() = /ServletTest

  request.getLocalAddr() = 127.0.0.1

  request.getPathInfo() = null

  request.getPathTranslated() = null

  request.getRemoteAddr() = 127.0.0.1

  request.getRequestURI() = /ServletTest/servlet/Hello

  request.getScheme() = http

  request.getServerName() = 127.0.0.1

  request.getServletPath() = /servlet/Hello

  request.getClass() = class ornnector.RequestFacade

  request.getHeaderNames() = org.apache.tomcat.util.http.NamesEnumerator@1fb050c

  request.getLocale() = zh_CN

  request.getLocales() = org.apache.catalina.util.Enumerator@1088a1b

  request.getParameterMap() = {}

  request.getRequestURL() =

  request.getUserPrincipal() = null

  request.getParameterNames() = java.util.Hashtable$EmptyEnumerator@1db6942

  request.getRealPath("newsPub") =

  D:\zfsca\.metadata\.plugins\com.genuitec.eclipse.easie.tomcat.myeclipse\tomcat\webapps\ServletTest\newsPub

  request.getRealPath("/") =

  D:\zfsca\.metadata\.plugins\com.genuitec.eclipse.easie.tomcat.myeclipse\tomcat\webapps\ServletTest\


 



  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
wx.request是微信小程序中发起HTTP请求的API接口,用于向服务器发起网络请求获取数据。它封装了底层的网络请求,支持HTTPS、HTTP/2.0协议,可以发送数据并接收数据。在小程序中,由于安全性和跨越问题,不能直接向外部网络发送请求,需要使用微信提供的云开发、开发者服务器等方式进行请求。 wx.request参数包括url、data、header、method、dataType、responseType等。其中url为必填参数,用于指定服务器地址,可以是完整的URL或相对路径。data为请求参数,以key-value形式传递,可以是Object或String类型。header为请求头信息,指定请求的Content-Type、Cookie、User-Agent等。method为请求方法,包括GET、POST、PUT、DELETE、OPTIONS等。dataType为预期的响应数据类型,可以是json、text等。responseType为预期的响应数据类型,可以是arraybuffer、text等。 在调用wx.request时,需要注意以下几点。首先,需要判断请求返回结果的状态码和提示信息。如状态码为200表示请求成功,400表示参数错误,401表示未授权等。其次,需要处理网络请求出现的错误。如网络异常、请求超时、服务器响应错误等。再者,需要控制请求频率和缓存机制。如使用防抖和节流的方法限制频繁请求,使用微信缓存管理机制进行数据缓存。最后,需要遵循微信小程序开发规范,如安全措施、代码规范、用户体验等。 总之,wx.request是微信小程序开发中最常用的API接口之一,发起网络请求获取数据是小程序不可或缺的一部分。在使用过程中,需要注意参数传递、异常处理、频率控制等问题,以保证小程序的性能和用户体验。同时,也需要不断学习和掌握新技术,提高自己的开发能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值