HTTP 工作原理
HTTP 协议工作于客户端-服务端架构上。
浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器发送所有请求。
HTTP 三点注意事项:
-
HTTP 是无连接:无连接的含义是限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接,采用这种方式可以节省传输时间。
-
HTTP 是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送,客户端以及服务器指定使用适合的 MIME-type 内容类型。
-
HTTP 是无状态:HTTP 协议是无状态协议,无状态是指协议对于事务处理没有记忆能力,缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大,另一方面,在服务器不需要先前信息时它的应答就较快。
HTTP 消息结构
HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。
一个HTTP"客户端"是一个应用程序(Web浏览器或其他任何客户端),通过连接到服务器达到向服务器发送一个或多个HTTP的请求的目的。
一个HTTP"服务器"同样也是一个应用程序(通常是一个Web服务,如Apache Web服务器或IIS服务器等),通过接收客户端的请求并向客户端发送HTTP响应数据。
HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。
一旦建立连接后,数据消息就通过类似Internet邮件来传送。
我的理解:
1.客户端是一个应用程序(qt软件应用程序,浏览器等等)
2.http使用统一资源标识符URI来建立连接+传输数据
URI URL的联系与区别
URL
URL:(全称:Uniform Resource Locator)统一资源定位符。
它是一种表示,是互联网上标准资源的地址。 通过URL对互联网上的资源进行访问。
URL 的常见定义格式为:带方括号[]的为可选项
scheme://host[:port#]/path/…/[;url-params][?query-string][#anchor]
scheme //协议 有我们很熟悉的http、https、ftp以及著名的ed2k,迅雷的thunder等。
host //HTTP服务器的IP地址或者域名
port# //HTTP服务器的默认端口是80,这种情况下端口号可以省略。如果使用了别的端口,必须指明,
例如tomcat的默认端口是8080 http://localhost:8080/
path //访问资源的路径
url-params //所带参数
query-string //发送给http服务器的数据
anchor //锚点定位
URL的格式一般由下列三部分组成:
- 协议(或称为服务方式);
- 存有该资源所在的服务器的名称或IP地址(包括端口号);
- 主机资源的具体地址。具体地址!!!
URL: http://127.0.0.1:8080/webProject/index.html
URI
URI:(全称:Uniform Resource Identifier)统一资源标识符,它是一个字符串用来标示抽象或物理资源。
URL,URI关系
URI 属于 URL 更高层次的抽象,一种字符串文本标准。就是说,URI 属于父类,而 URL 属于 URI 的子类。uri是理论或者说规范,url是按照规范的具体实现(从定义上其实更类似于接口与对应实现类的概念)
参考:URL与URI,有联系有区别? - 知乎 (zhihu.com)
URI、URL和URN的区别 - 知乎 (zhihu.com)这个讲的最好最通俗易懂!!!
URI 在于I(Identifier)是统一资源标示符,可以唯一标识一个资源。
URL在于Locater,一般来说(URL)统一资源定位符,可以提供找到该资源的路径,比如
http://www.zhihu.com/question/21950864,但URL又是URI,因为它可以标识一个资源,所以URL又是URI的子集。
举个是个URI但不是URL的例子:urn:isbn:0-486-27557-4,这个是一本书的isbn,可以唯一标识这本书,更确切说这个是URN。
总的来说,locators are also identifiers, so every URL is also a URI, but there are URIs which are not URLs.
链接:https://www.zhihu.com/question/21950864/answer/288475983.
参考:HTTP 教程 | 菜鸟教程 (runoob.com)
标签:HTTP,URL,URI,服务器,http,客户端 From: https://www.cnblogs.com/littleheadache/p/17292404.html