《HTTP权威指南》学习笔记——URL和资源

简介:

URL与资源

URL是互联网资源的标准化名称

1.浏览互联网资源

URL是浏览器寻找信息时所需的资源位置

URI是一类更通用的资源标识符,URL是它的子集。

URI的两个子集:URL和URN

URL提供了一种统一的资源命名方式:

URL方案(例如HTTP,FTP等)://服务器位置/路径

2.URL的语法

大部分URL方案的URL语法都建立在由9部分构成的通用格式上:

<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>

方案(schema):获取资源使用的协议

用户(user):需要的用户名

密码(password):需要的密码,

主机(host):服务器的主机名或点分IP地址

端口(port):正在监听的端口号(很多方案都有默认端口号,HTTP:80)

路径(path):资源的本地名

参数(params):输入参数

查询(query):传递参数以激活应用程序

片段(frag):一小片或部分资源的名字

URL最重要的3部分是方案(schema),主机(host)和路径(path)

2.1查询字符串

http://www.joes-hardware.com/inventory-check.cgi?item=12731

问号右边的内容是查询组件

查询字符串以一系列键值对的形式出现,用&分隔

如

http://www.joes-hardware.com/inventory-check.cgi?item=12731
&color=blue

2.2片段

引用部分资源或资源的一个片段,用片段(frag)组件来表示,用#符来标识

http://www.joes-hardware.com/tools.html#drills

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

3.URL快捷方式

两种URL:绝对的和相对的

3.1相对URL

不完整的,相对不另一个基础的URL进行解析。

3.2自动扩展URL

用户不需要输入完整的URL,浏览器自动扩展。

  • 主机名扩张(自动补全)
  • 历史扩展(历史记录)

4.字符

ASCII码无法表示非罗马语言的变体字符
--->URL中集成转义序列

4.1编码机制

转义表示法表示不安全字符的

包含一个百分号(%),后面跟着两个表示字符ASCII码的十六进制数。

http://www.w3school.com.cn/example/html/form_action.asp?text=%D3%EF%D1%D4

上面那个连接中,%D3%EF%D1%D4就是转义的字符

在线汉字转码网站:http://www.atool.org/chinese2unicode.php

在URL中,有几个字符被保留起来了。
有着特殊含义。

5.方案

  • http:超文本传输协议,与通用的URL格式相符(除了没有用户名和密码之外)。若省略了端口,则默认是80。
  • https:与http是一对。区别在于https使用了SSL(SSL为HTTP连接提供了端到端的加密机制)语法和HTTP的相同,默认端口是443
  • mailto:URL指向E-mail地址
  • ftp:文件传输协议URL可从FTP服务器上下载或上传文件,并获取FTP服务器上的目录结构内容的列表
  • rtsp,rtspu: RTSP URL是可以通过实时流传输协议(Real Time Streaming Protocol)解析的音/视频媒体资源的标识符
  • file:表示一台主机上可直接访问的文件
  • telnet:用于访问交互式业务
原文地址:http://www.cnblogs.com/JohnTsai/p/5183107.html
相关文章
|
Java 程序员
JAVA程序员的进阶之路:掌握URL与URLConnection,轻松玩转网络资源!
在Java编程中,网络资源的获取与处理至关重要。本文介绍了如何使用URL与URLConnection高效、准确地获取网络资源。首先,通过`java.net.URL`类定位网络资源;其次,利用`URLConnection`类实现资源的读取与写入。文章还提供了最佳实践,包括异常处理、连接池、超时设置和请求头与响应头的合理配置,帮助Java程序员提升技能,应对复杂网络编程场景。
424 9
|
C# 图形学 开发者
Unity开发中使用UnityWebRequest从HTTP服务器下载资源。
总之,UnityWebRequest就是游戏开发者手中的万能钓鱼竿,既可以获取文本数据,也能钓上图片资源,甚至是那声音的涟漪。使用UnityWebRequest的时候,你需要精心准备,比如确定URL、配置请求类型和头信息;发起请求;巧妙处理钓获的数据;还需要机智面对网络波澜,处理各种可能出现的错误。按照这样的过程,数据的钓取将会是一次既轻松愉快也效率高效的编程钓鱼之旅。
861 18
|
安全 Linux 定位技术
Curl访问Kerberos SPNEGO保护的HTTP资源
最后,记住,虽然Kerberos的魔法强大且久经考验,但它仍需你谨慎掌握。SPNEGO的舞步看似复杂,但一旦跳起来,你会发现自己在安全和便捷的旋律中翩翩起舞。而Curl,这一灵活敏捷的小工具,它的确有能力成为你施展这些魔法的得力助手。
446 14
|
JavaScript 前端开发 开发者
Node学习笔记:HTTP模块
总的来说,Node.js的HTTP模块是一个强大的工具,可以帮助你处理HTTP协议的各种需求。无论你是想开设自己的餐厅(创建服务器),还是想去别的餐厅点菜(发出请求),HTTP模块都能满足你的需求。
451 18
|
数据采集 Web App开发 iOS开发
解决Python爬虫访问HTTPS资源时Cookie超时问题
解决Python爬虫访问HTTPS资源时Cookie超时问题
|
Java 开发者
JAVA高手必备:URL与URLConnection,解锁网络资源的终极秘籍!
在Java网络编程中,URL和URLConnection是两大关键技术,能够帮助开发者轻松处理网络资源。本文通过两个案例,深入解析了如何使用URL和URLConnection从网站抓取数据和发送POST请求上传数据,助力你成为真正的JAVA高手。
455 11
|
前端开发 JavaScript 数据库
https页面加载http资源的解决方法
https页面加载http资源的解决方法
887 5
|
前端开发 JavaScript 数据库
https页面加载http资源的解决方法
https页面加载http资源的解决方法
616 4
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
前端开发 JavaScript 数据库
https页面加载http资源的解决方法
https页面加载http资源的解决方法
1063 7