精华内容
下载资源
问答
  •  我经过反复测试,结合在log里添加$request_uri变量,得出结论,这个$request_uri就是完整url中刨去最前面$host剩下部分,比如http://www.baidu.com/pan/beta/test1?fid=3这个url,去掉www.baidu.com剩下就是了...

    原文地址:https://yq.aliyun.com/articles/556175


    摘要: 我经过反复测试,结合在log里添加$request_uri变量,得出结论,这个$request_uri就是完整url中刨去最前面$host剩下的部分,比如http://www.baidu.com/pan/beta/test1?fid=3这个url,去掉www.baidu.com剩下的就是了,日志里会看到打印出来的$request_uri其实是/pan/beta/test1?fid=3。

    我经过反复测试,结合在log里添加$request_uri变量,得出结论,这个$request_uri就是完整url中刨去最前面$host剩下的部分,比如http://www.baidu.com/pan/beta/test1?fid=3这个url,去掉www.baidu.com剩下的就是了,日志里会看到打印出来的$request_uri其实是/pan/beta/test1?fid=3。如果只访问www.baidu.com,$request_uri里也会有个/的。



    if ($request_uri ~* "^/$") 表示url中只有域名,后面不跟任何东西,比如www.baidu.com。

    if ($request_uri ~* "test") 表示域名后面那串儿只要包含test这个关键词,就可匹配成功。比如www.baidu.com/pan/beta/test3


    展开全文
  • url中的相对路径分为两种: 有’/‘符号,在这个例子中,/system/login即为这一种,开头的’/'是指根路径,其相对的是服务器的根路径,即为http://localhost:8080。所以当我填写为/system/login时,访问的路径会...
    1. 绝对路径

    即包含完全请求路径,即请求头,主机地址,端口,项目名等都有,在这个例子中,绝对路径为http://localhost:8080/HotelSSM/system/login

    1. 相对路径

    url中的相对路径分为两种:

    1. 有’/‘符号,在这个例子中,/system/login即为这一种,开头的’/'是指根路径,其相对的是服务器的根路径,即为http://localhost:8080。所以当我填写为/system/login时,访问的路径会变为http://localhost:8080/system/login
      在这里插入图片描述
    2. 无’/'符号,在这个例子中,'login’即为这一种,其相对的是我这个jsp页面的地址,我这个jsp页面的地址为http://localhost:8080/HotelSSM/system/login,当我发送ajax请求中,因为其没有经过视图解析器,又因为相对路径的作用,所以会找controller中的system/login的post方法,所以会正确访问到这个方法。
    展开全文
  • URL中 # ? & 什么意思

    2020-03-12 22:37:22
    #代表网页中的一个位置。其右面的字符,就是该位置的标识符 比如你访问 https://www.baidu.com/ 和 https://www.baidu.com/#wee 是同一个页面 #后面是指浏览器的页面所在的位置不同 就类似于鼠标把页面滚动到下面...

    #
    #代表网页中的一个位置。其右面的字符,就是该位置的标识符
    比如你访问 https://www.xxx.com/ 和 https://www.xxx.com/#wee 是同一个页面 #后面是指浏览器的页面所在的位置不同 就类似于鼠标把页面滚动到下面了。
    是用来指导浏览器动作的,对服务器端完全无用。所以,HTTP请求中不包括#。
    在第一个#后面出现的任何字符,都会被浏览器解读为位置标识符。这意味着,这些字符都不会被发送到服务器端。 就比如上面的两个网址 浏览器发送的请求都是 www.xxx.com


    连接作用
    通过?来带参数,连接域名和参数,经常会用到。
    www.xxx.com
    www.xxx.com?ame=gee&class=weew
    两个url打开的页面一样,但是后面这个有问号,说明不调用缓存的内容,而认为是一个新地址,重新读取。
    因为在http请求的时候,如果浏览器检测到你的地址完全没变,会从缓存里读取先前请求过的数据,不再发送请求。加上这个,会让浏览器认为这是一个新的地址

    &
    不同参数的间隔符
    https://www.xxxxxx.com/?name=were&class=gegfw

    展开全文
  • 本文参考原文-...httphttp静态web服务器这里的http静态服务器是指创建静态网站,并且通过node.js创建静态web服务器来向客户端提供服务。一个静态web服务器的例子就是Apache,只需要...

    本文参考原文-http://bjbsair.com/2020-03-22/tech-info/2821/ 首先我们会介绍http静态web服务器需要实现哪些需求,接下来我们会从node.js出发,介绍所需要的模块。

    e7748f689aa2efe19a780b5ef92924ff.png

    http

    http静态web服务器

    这里的http静态服务器是指创建静态网站,并且通过node.js创建静态web服务器来向客户端提供服务。一个静态web服务器的例子就是Apache,只需要把网站相关的html,css,javascript,jpg等静态资源放到Apache的目录下,只需要访问主机名就可以显示网页了。

    这里面我们可以看到,静态网站资源包括:

    • html文件
    • css文件
    • javascript文件

    实际情况是,除了这三类主要文件,大部分网站资源还包括图片文件,音频文件,压缩文件,字体文件等等。

    而静态网站的web服务器需要提供

    • http服务,可以对于客户端提交的http请求,返回静态页面以及静态页面所需要使用的资源。假设需要访问index.html页面,那么该页面中使用到的图片文件,css风格文件,javascript文件都需要返回给客户端的浏览器用以展示。如果在程序中只返回了html文件,那么浏览器将无法显示关联的图片,响应的css效果,javascript效果也无法展示。
    • http端口,用于监听客户端提交的http请求,上面Apache使用的就是80端口。各个web服务器都支持端口的配置,那我们node.js也不例外,可以在程序中实现
    • 状态码:对于每一个客户端请求,在返回页面的同时,web服务器会返回一个状态码。请求处理成功的状态码是 200,而 404 则表示访问的文件或者资源不存在。

    HTTP Header 中的 Content-Type

    14de41bdfc45369ab9d24061d18ae7e7.png

    http header

    上图是访问某网站时的http response header。我们可以看到这次的 状态码 status code 是 200,表示请求处理成功。在返回的 response headers 里面有一个Content-Type,这里面的值是"text/html;charset=utf-8"。

    • text/html:表示返回页面的格式是html,页面在浏览器中以html的形式显示。
    • charset: 返回页面的字符集

    有时候返回页面的格式如果是"text/plain",表示页面将以纯本文的形式来展示。

    这些格式统称为 MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的因特网标准。

    根据不同文件类型,需要在http headers中的Content-Type里面写入对应的值。

    具体可以在node.js中定义一个常量,通过键值对的方式根据文件后缀名来获得Content-Type。

    const mimeType = {  
      '.ico': 'image/x-icon',  
      '.html': 'text/html',  
      '.js': 'text/javascript',  
      '.json': 'application/json',  
      '.css': 'text/css',  
      '.png': 'image/png',  
      '.jpg': 'image/jpeg',  
      '.wav': 'audio/wav',  
      '.mp3': 'audio/mpeg',  
      '.svg': 'image/svg+xml',  
      '.pdf': 'application/pdf',  
      '.zip': 'application/zip',  
      '.doc': 'application/msword',  
      '.eot': 'application/vnd.ms-fontobject',  
      '.ttf': 'application/x-font-ttf',  
    };

    上面的代码基本可以满足一个静态网站所需要的资源类型的定义。

    代码逻辑以及实现

    1. 通过node.js 创建http server,详见 node.js 04 http server 初步
    2. 解析url
    3. 通过访问路径判断文件或者目录是否存在,如果不存在,则返回错误状态码 404
    4. 如果访问路径为目录,则返回文件路径index.html
    5. 根据请求路径在response中写入文件内容,同时根据资源类型设定Conten-type。

    上面逻辑中所有跟文件处理,目录处理相关的代码都需要通过node.js中的fs模块的调用来实现,详见 node.js 07 文件操作。

    具体代码段如下:

    http.createServer(function (req, res) {  
      // 调用url模块来解析访问的url  
      const parsedUrl = url.parse(req.url);  
    
      // 提取路径  
      const sPath = path.normalize(parsedUrl.pathname).replace(/^(..[/])+/, '');  
      let pathname = path.join(__dirname, sPath);  
    //判断路径是否存在  
      fs.exists(pathname, function (exist) {  
        if(!exist) {  
          //如果路径不存在,则返回404  
          res.statusCode = 404;  
          res.end(`File ${pathname} not found!`);  
          return;  
        }  
    
        // 如果路径是目录,则将路径替换为目录下的 index.html  
        if (fs.statSync(pathname).isDirectory()) {  
          pathname += '/index.html';  
        }  
    
        // 根据路径读取文件,此处调用fs模块方法  
        fs.readFile(pathname, function(err, data){  
          if(err){  
            res.statusCode = 500;  
            res.end(`Error getting the file: ${err}.`);  
          } else {  
            // 获取路径后缀名  
            const ext = path.parse(pathname).ext;  
            // 根据后缀名获取响应的content-type; 这里的minType定义见上面的代码块  
            res.setHeader('Content-type', mimeType[ext] || 'text/plain' );  
            //通过end方法来结束response  
            res.end(data);  
          }  
        });  
      });  
    //提供http端口监听  
    }).listen(8001);

    这样一个http静态web服务器的代码就完成了,非常轻便,跟很多语言比起来,可谓是很精悍了。

    展开全文
  • 面试时候可能会遇到问题,下面我根据从图解http和网上博客学习整理过程,如果哪一步有问题,希望正出来,十分感谢。 输入url后可以大概分为六个部分 DNS域名解析 建立TCP连接 发起HTTP请求 接受...
  • 和Hypertext以及HTTP一样,URL是Web中的一个核心概念。它浏览器用来检索web上公布的任何资源的机制。 URL指统一资源定位符(Uniform Resource Locator)。URL无非就是一个给定的独特资源在Web上的地址。理论...
  • c语言中的“宏”是指什么?

    千次阅读 多人点赞 2016-06-05 16:01:43
    转载链接:http://zhidao.baidu.com/link?url=MYZDvw0EVnFGaUUTa5u6TfOxTzNbswmo8_e_azYtI7PgnWN1YCTfspZvQCjfebUpeXBiHHxJa1RgPS9YGyaP4_ 简单来说:宏定义又称为宏代换、宏替换,简称“宏”。C提供三种预处理...
  • HTTP协议之URL

    2015-04-13 16:22:53
    ——URI统一资源标识符(Uniform Resource Identifier)抽象定义了URI用户对网络(一般万维网)资源通过特定协议进行交互操作。包含了URL和URN。一个用于标识某一互联网资源名称字符串。 ——URL...
  • window.location.hash解析(URL中的?#)

    千次阅读 2013-09-15 22:53:46
    使用location对象可以设置或返回URL中的一些信息,一个完整的URL地址的格式为: 协议://主机:端口/路径名称#hash标识?搜索条件 其中,协议URL的起始部分,用于指定该URL地 址所采用的通信协议,比如http、ftp等...
  • ajax请求路径(url问题

    千次阅读 2019-06-27 10:16:59
    比如你页面路径是:http://localhost:8080/projectname/resource/index.html ...1、相对于网站根目录可以用"/"开始 (根目录是指服务器根目录,不是你项目根目录) $.ajax({ url:"/getData.do" })...
  •  协议是指计算机通信网络两台计算机之间进行通信所必须共同遵守规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端浏览器  目前我们使用是...
  • 一、需求获取URL中查询字符串值。什么查询字符串,我前一篇博客中提及过,就是Location对象search属性值,在这里?id=1&name=location 大家熟悉ASP.NET都知道怎么取这样数据集合,就
  • 在TCP/IP模型图,读者可以看到,HTTP协议位于最上层应用层,它是互联网上应用最为广泛一种网络协议,所有WWW文件都必须遵守这个协议。...无状态是指客户端和服务器端之间不需要建立持久连接,客...
  • HTTP请求中的header query 和body

    万次阅读 2019-03-21 16:58:21
    HTTP请求中 header query 和 body的区别 ...query是指请求的参数,一般是指URL中?后面的参数 如http://10.6.6.6:8080/api/v1/namespaces?pretty=true中 pretty=true就是query body是指请求体中的数据 ...
  • HTTP请求中的header query 和body的区别

    千次阅读 2019-10-14 11:26:20
    header显而易见是请求头 query是指请求的参数,一般是指URL中?后面的参数 如http://localhost:8080/api/v1/namespaces?pretty=true中 pretty=true就是query body是指请求体中的数据 header ...
  •  URL路径包含中文和表单get方式请求包含中文是不一样的,前者是请求路径中包含了中文,而后者是URL中的查询字符串包含了中文。形如http://xx/oo/你好/index.jsp?kw=张三,其中url路径包含中文是指http://xx/oo/...
  • get把参数数据队列加到提交表单ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL...
  • 前言先来说一下SpringMVC中的跳转和重定向吧,跳转指的是服务器端跳转,在这个过程中请求之间的参数会进行保留,HTTP请求也只有一次;重定向是指第一次请求完成后服务端通知客户端去请求另外一个地址,也就是再进行...
  • 2、在客户端,get把参数数据队列加到提交表单action属性所指的url中,值和表单内各个字段一一对应,在url中可以看到。post通过http post机制,将表单内各个字段与其内容放置在html header内一起传送到action...
  • 浏览器输入URL后会发生什么事情

    千次阅读 2018-05-28 17:10:23
    相对URL是指从浏览器基本URI处指定的URL。 我们看一下绝对URI格式。 使用http:或https:等协议方案名获取访问资源时要指定协议类型,不区分字母大小,最后附一个冒号。 也可使用data...
  • Yii2 默认的 URL 链接格式是指为开启 URL 美化时的格式。 未启用子模块的 URL 格式: // 参数 r 中的 article 表示控制器, view 表示动作 http://www.example.com/index.php?r=article/view&id=100 启用了子模块的...
  • 2. get把参数数据队列加到提交表单ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的...
  • 几个概念: THINKPHP 一个MVC框架,使用PATHINFO解析出分组名,模块名,方法名,以及参数。 PATHINFO:就是 ...PATHINFO是URL中的路径实际上不存在的时候,ap

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,746
精华内容 698
关键字:

url中的http是指