引言

URL,是统一资源定位符(Uniform Resource Locator)的缩写,一个URL就是一个特定资源在网络上的地址。理论上讲,一个URL指向一个唯一的资源,这个资源可以使一个HTML页面、一个CSS文件或者一张图片,等等。实际上,有一些例外,最常见的就是URL指向的资源已不存在或者被移走,不过这不在要讨论的范围。

URL语法

一个URL有不同的组件构成,有些可选有些必选。用下面的示例来学习一下:

http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument

http://是协议(方案),它告诉浏览器访问服务器资源使用哪种协议。web上通常使用的是http和https(使用了SSL:为HTTP连接提供端到端的加密机制),还有一些其他协议类型,如mailto(打开邮件客户端)、ftp(传输文件)。

www.example.com是域名,指向资源的宿主服务器,还可以使用IP地址,不过因为不便记忆,所以通常不用。

:80端口,宿主服务器正在监听的端口号,很多方案都有默认的端口号(HTTP默认80端口,HTTPS默认443端口)。

/path/to/myfile.html是资源在web服务器上的路径,早起网站上,这样的路径表示资源在web服务器上的物理位置,现在由于抽象的原因,可能服务器上就不存在该物理文件或文件夹。

?key1=value1&key2=value2是提供给web服务器额外的查询。这些参数是以键值对列表,中间用&分割,web服务器用这些参数在访问资源前做一些额外的处理。

#SomewhereInTheDocument是一个片段标识符,它不会被发送到服务器。这个标识符是用来告诉浏览器显示呈现某一段内容。

以上是常见的URL组成部分。完整的URL语法还包括用户、密码和参数。详细请查看《HTTP权威指南》这本书。

关于URL的理解的更多相关文章

  1. 关于统一资源标志符URL的理解

    URL由三部分构成 A:B:C A:URL使用的领域 B:在此领域的类型名称 C:标识资源的具体位置 C可以是一个绝对路径,也可以是端口号加上资源名称,总之是可以唯一标示资源的标识 例: 在网址中 S ...

  2. 课时5.什么是URL(理解)

    其实浏览器的地址栏中输入的地址就是一个URL. http://127.0.0.1/index.html(浏览器会自动添加:80) http://127.0.0.1:80/index.html(这是浏览 ...

  3. URL地址理解

    / 表示相对目录的根目录./ 表示相对目录的本层目录../ 表示相对目录的上层目录

  4. 【Python网络爬虫一】爬虫原理和URL基本构成

    1.爬虫定义 网络爬虫,即Web Spider,是一个很形象的名字.把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页的.从网站某一个页面(通常 ...

  5. HTTP笔记:URI与URL

    URI与URL 简单理解是这样的:理解URI和URL的区别,我们引入URN这个概念.URI = Universal Resource Identifier 统一资源标志符URL = Universal ...

  6. [Python]网络爬虫(一):抓取网页的含义和URL基本构成

    一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一个 ...

  7. mvc 生成输出url

    最近一直在学习mvc,其中对于 Url.Action生成的url感到很困惑.官方的解释的基于路由方案生成的url.问题是,怎样基于,怎样选择,没有过多的解释.网上找了很多资料,也看不懂,最后还是在pr ...

  8. dubbo源码分析13——服务本地暴露 exportLocal(url)

    dubbo服务的本地暴露,显然是针对当服务消费者和服务提供者都在同一个jvm的进程内这种场景 .通常是发生在服务之间的调用的情况下.一种情况就是A服务调用B服务的情况,如果A服务和B服务都是在一个线程 ...

  9. java URL、HTTP与HTML+CSS

    一.Web三大基石 1 二.API(Application Programming Interface,应用程序编程接口) 1 三.题目分析总结: 3 五.HTTP协议与寄信是类似的 6 请求报文 6 ...

随机推荐

  1. 商城项目实战 | 2.1 Android 仿京东商城——自定义 Toolbar (一)

    前言 本文为菜鸟窝作者刘婷的连载."商城项目实战"系列来聊聊仿"京东淘宝的购物商城"如何实现. 现在很多的 APP 里面都有自己的自定义风格,特别是京东商城中自 ...

  2. 厉害了我的雅虎!卖掉主业后更名为阿里他爸(Altaba)

    据雅虎周一向美国证券交易委员会(SEC)提交的文件显示,在美国通信巨头Verizon斥资48亿美元收购雅虎的交易完成后,该公司首席执行官玛丽莎o梅耶尔(Marissa Mayer)将退出公司董事会. ...

  3. cmd第一次推送github

    echo off for %%i in ("%cd%") do set "name=%%~ni" git init git remote add origin ...

  4. 点击滚动图片JS部分代码以及css设置注意事项

    下面js代码可以实现8张图片点击左右按钮后切换的过渡动画效果 var pslul11=document.getElementById('pslul11')var pslspan1=document.g ...

  5. C# Winform中的窗体传值

    关于C#winform窗体之间的传值有以下几种做法 1 通过构造函数传值 2 属性传值 以上两种方法不早详细介绍. 3 通过事件传值,委托传值 首先看一下通过委托传值吧. 1,创建两个窗体,分别是Fo ...

  6. 常用js功能函数汇总(持续更新ing)

    ////////////////////获取元素属性/////////////////// function getStyle(obj,name) { if(obj.currentStyle) { r ...

  7. 关于删除数组中重复元素的lintcode代码

    时间自由度为o(n),空间自由度为o(1); class Solution {public:    /**     * @param A: a list of integers     * @retu ...

  8. DDD领域驱动 (一)

    说道DDD不得不说传统的架构与DDD的架构区别. 传统的架构不外乎就是三层,而在这三层里面又不断的细分,始终没有达到想要的效果,那么为什么当时还是采用三层. 当然在DDD没有提出的时候三层是大多数人的 ...

  9. Java 多线程详解(三)------线程的同步

    Java 多线程详解(一)------概念的引入:http://www.cnblogs.com/ysocean/p/6882988.html Java 多线程详解(二)------如何创建进程和线程: ...

  10. Dockerfile 最佳实践

    之前 一篇文章介绍 docker 的镜像基本原理和概念 ,主要介绍在编写 docker 镜像的时候一些需要注意的事项和推荐的做法. 虽然 Dockerfile 简化了镜像构建的过程,并且把这个过程可以 ...