http --- 简介
HTTP(Hypertext Transfer Protocol)
http 是一种应用层协议,可以用来传输超媒体、文档等,例如 HTML。http协议主要被设计用于web浏览器和服务端之间的交流。http遵循典型的 客户端-服务端 模型,客户端向服务端发起一个请求,然后等待服务端响应。http 是无状态的协议,这意味着服务器不会在两个http请求之间保留任何数据状态。由于http请求是基于 TCP/IP层的,所以它是可靠传输协议。
URI(Uniform Resource Identifier)
http 协议请求的目标就是“资源”,资源可以是一个文档、一张照片或者其他任何网站上可以看到的数据形式。每个资源都可以通过 URI(统一资源标识符)来唯一的被标识。
URL(Uniform Resource Locator)
最常见的 URI 形式是 统一资源定位符(URL),被称为网址
例如:
https://developer.mozilla.org
https://developer.mozilla.org/en-US/docs/Learn/
URN(Uniform Resource Name)
统一资源名称是在特定名称空间中按名称标识资源的 URI。
例如:
urn:isbn:9780141036144
urn:ietf:rfc:7230
协议
http://
是一种协议,指出浏览器必须使用哪种协议进行通讯。通常协议是 http
或 https
。web 一般只使用 http
或 https
协议,当然除此之外还有 mailto:
邮箱协议 ftp:
文件传输协议,浏览器根据协议来处理请求的数据。
域名(Domaine Name)
域名(例如:www.baidu.com)指出那个 web 服务器被请求。另外,也可以直接使用 ip地址 替换域名进行请求服务端,只是用起来不大方便,且ip地址不易记忆。
端口(Port)
:80
是web服务器http
默认的端口,:443
是https的默认端口。
资源路径(Path)
/path/to/myfile.html
是web服务器上的资源文件。在web早期的时候,这些路径都是web服务器上物理存在的html
文件。现在这些不再是真实存在的文件html
文件,真实的文件可能存放在数据库中。
Query
URL 附带的请求参数 ?key1=value1&key2=value2
,这些参数是一系列的 key/value 对并且用 &
分开,web service 可以在返回数据给客户端之前利用这些额外的参数做一些其它事情(比如:通过传来的用户id来区分用户)。
分段(Fragment)
Anchor(锚)是资源的一部分,锚就像是资源里的“书签”,指示浏览器显示内容的位置。例如在 HTML 中,浏览器将要滚动到设置的锚点处,在vedio或者music中,浏览器将会到指定的时间点准备播放。注意在HTML中 #
后面的内容不会被发送到服务端。