http 协议之 URL

URI(Uniform Resource Identifier) 统一资源标识符

URI 就像因特网上的邮政地址一样,在世界范围内唯一标识并定位信息资源。

URL 统一资源定位符

是资源标识符的最常见形式,是 URI 的一个子集 (另一个是 URN)。URL 描述了一台特定服务器上某资源的特定位置。它们可以说明如何从一个精确、固定的位置获取资源。

URL 遵循的标准格式

URL 的第一部分被称为方案 (scheme),说明了访问资源所使用的协议类型。如 http://

第二部分给出了服务器的因特网地址

其余部分制定了 Web 服务器上的某个资源

现在几乎所有的 URI 都是 URL

URL 语法

1

://:@:/;?#

方案:使用的协议,不区分大小写

用户:访问某些资源需要用户名

密码:用户对应的密码 中间用:分割

主机:服务器的主机名或 IP 地址

端口:服务器正在监听的端口号

路径:服务器资源的本地名,路径组件的语法是与服务器和方案有关

参数:某些方案会用这个组件来指定输入参数。参数为名/值对。URL 中可以包含多个参数字段

查询:传递的参数,用”?” 将其与 URL 的其余部分分隔开

片段:一小片或一部分资源的名字,这个字段是在客户端内部使用的,通过字符”#” 与 URL 其他部分分隔开来

用户名和密码

很多服务器都要求输入用户名和密码才允许用户访问资源。常见的有 FTP 服务器。

例如:123

ftp://192.168.1.2ftp://anonymous@192.168.1.2ftp://anonymous:my_pwd@192.168.1.2

参数

为了向应用进程提供它们所需的输入参数,以便正确地与服务器进行交互,URL 中有一个参数组件。这个就是 URL 中的名值对列表,由字符”;” 与其他部分分隔。

如:12

ftp://192.168.1.2;type=dhttp://192.168.1.2/index.html;sale=false/login.html;id=true

查询字符串

很多资源都可以通过提问题或者查询来缩小所请求资源类型的范围。

如:1

http://192.168.1.2/login.html?user=zhangsan&password=123456

经常使用的 http get 请求传递的参数就是查询字符串

片段

有些资源,比如 html,除了资源级之外,还可以进一步划分。比如,对一个带有章节的大型文本文档来说,资源的 URL 会指向整个文档,但有时我们希望能够指定资源中的某些章节。

片段组件用来表示一个资源内部的片段。如一个特定的图片或小节

片段挂在 URL 的右边,前面用一个”#” 与其他部分分隔。

HTTP 服务器通常只处理整个对象,而不是对象的片段,客户端不能将片段传给服务器,浏览器从服务器获取整个资源后,会根据片段来显示部分资源。

URL 快捷方式

URL 有两种方式:绝对 URL 和相对 URL,相对 URL 只是 URL 的片段或一部分。处理 URL 的进程 (如浏览器) 能够在相对和绝对 URL 之间进行转换。相对 URL 有利于资源的迁移,因为相对 URL 都是相对于新基础进行解释的。这样可以实现在其他服务器上提供镜像内容之类的功能。

基础 URL

转换处理的第一步就是找到基础 URL。基础 URL 是作为相对 URL 的参考点使用的。有以下几种方式:

在资源中显示提供 如 html 中的标签

封装资源的基础 URL 如果在一个没有显示指定基础 URL 的资源中发现一个相对 URL,可以将它所属资源的 URL 作为基础

自动扩展 URL

浏览器一般都提供自动扩展 URL 的功能

主要的扩展方式:

主机名扩展 如在浏览器中输入 google.com ,浏览器会自动扩展为http://google.com

历史扩展 对浏览器历史记录进行匹配查询

URL 编码

使用一种” 转义” 表示法来表示各种不安全的字符 (保留及受限字符)。

如:~ 空格 % 等

常见的 URL 方案 (协议)

http 超文本传输协议 默认端口 80

https 加密的 http,使用 SSL 进行安全加密 默认端口 443

mailto 指向 Email 地址,如 mailto:wustrive2008@gmail.com

ftp 文档传输协议,用来从 ftp 服务器上传或下载文档

rtsp,rtspu 通过实时流传输协议解析音/视频媒体资源的标识符

file 从一台共享主机上直接访问文档

news 用来访问一些特定的文章或新闻组

telnet 用户访问交互式业务

基本url是由协议服务器,http协议基础之URL相关推荐

  1. 怎么重新启动协议服务器,ssl协议怎么开启

    1.首先打开浏览器,找到工具→Internet选项 2.找到高级选项卡,下面的使用SSL 3.0 勾选之后,点击保存即可. 3.重新打开网站检查.对于chrome浏览器,SSL 和 TLS都协议是默认 ...

  2. http协议实现web服务器,http协议实现web服务器

    http协议实现web服务器 内容精选 换一换 简要介绍Httperf是用于衡量Web服务器性能的工具. 它提供了一种灵活的工具来生成各种HTTP工作负载并评估服务器性能. Httperf的重点不是实 ...

  3. tcp ip协议 服务器和客户端区别,网络与TCP/IP协议-总结

    TCP/IP参考模型 层级               数据形式                      主要功能                                 协议(只标注较主要 ...

  4. http协议服务器ppt,HTTP协议与服务器.ppt

    HTTP协议与服务器 HTTP协议 HTTP是TCP/IP的上层协议.TCP负责确保从一个网络节点向另一个网络节点发送的文件能作为一个完整的文件到达目的地,但在具体传送过程中,这个文件可能会分解为小块 ...

  5. 当输入一个URL的时候用到什么协议?

    浏览器中输入URL 浏览器要将URL解析为IP地址,解析域名就要用到DNS协议,首先主机会查询DNS的缓存,如果没有就给本地DNS发送查询请求.DNS查询分为两种方式,一种是递归查询,一种是迭代查询. ...

  6. 推送消息mqtt协议服务器域名云喇,推送消息mqtt协议服务器域名云喇

    推送消息mqtt协议服务器域名云喇 内容精选 换一换 上传证书相关问题,请根据您的情况选择具体解决方法:目前SSL证书管理平台只支持上传PEM格式的证书.其他格式的证书需要转化成PEM格式后才能上传, ...

  7. 【Java 18】网络编程 - 概述、网络编程要素、IP和端口号、网络协议、TCP、UDP、URL

    网络编程 - 概述.网络编程要素.IP和端口号.网络协议.TCP.UDP.URL 网络编程 1 网络编程概述 2 网络通信要素概述 3 通信要素1:IP和端口号 3.1 内容 3.2 InetAddr ...

  8. 数据库和服务器什么协议,数据库服务器协议

    数据库服务器协议 内容精选 换一换 本章节适用于MRS 3.x之前版本.Loader支持以下多种连接,每种连接的配置介绍可根据本章节内容了解.obs-connectorgeneric-jdbc-con ...

  9. 基于阿里云用C/C++做了一个http协议与TCP协议的web聊天室的服务器——《干饭聊天室》

    基于阿里云用C/C++做了一个http协议与TCP协议的web聊天室的服务器--<干饭聊天室> 在这里首先感谢前端小伙伴飞鸟 前端技术请看一款基于React.C++,使用TCP/HTTP协 ...

最新文章

  1. html将变量打印到屏幕_用可视化过程解释代码运行过程和变量作用空间
  2. oracle SQL以结尾函数,Oracle学习笔记--SQL查询和SQL函数(转) -- 迷失de天空 -- 编程爱好者......
  3. html 树状折叠,折叠树状页.html
  4. SpringMVC框架--学习笔记(上)
  5. 节点主动可信监控机制
  6. ajax 跨域请求_什么是跨域问题?如何解决?
  7. Centos定时备份 MySQL数据库
  8. 较低成本的ISO7637-2 5A 5B抛负载保护方案
  9. 深度linux系统老版本,Deepin Linux15.7下载
  10. python实现isprime函数_Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数...
  11. matlab求一个矩阵的逆矩阵的命令,如何用MATLAB求逆矩阵
  12. 广域网 —— HDLC协议
  13. c语言中int类型与char类型数据转换
  14. 投资笔记3-建立资产认知
  15. Cris 的 Go 笔记(上)
  16. PRD(产品需求说明文档)与MRD(市场需求文档)介绍
  17. MT6572 指纹模块
  18. 亿信华辰:电力行业如何做好数据治理,其核心的3个步骤
  19. php生成有二维码的背景图片
  20. 实时数仓Hologres 新一代弹性计算组实例技术揭秘

热门文章

  1. Android 仿新版QQ的tab下面拖拽标记为已读的效果
  2. zzz KVC/KVO原理详解及编程指南
  3. IT运维管理员如何写好一份年终总结?
  4. 一点想法--- 做一个轻便的程序编辑器
  5. 用shell脚本计算日期的小函数们
  6. linux shell脚本 静态检查工具 shellcheck 简介
  7. mysql 查询表结构 几种方法
  8. python3 hasattr getattr setattr delattr 对象属性 反射
  9. golang select channel 多路复用
  10. 解决docker镜像无法删除的问题