首页 > 其他分享 >http

http

时间:2023-04-06 12:45:03浏览次数:43  
标签:HTTP URL URI 服务器 http 客户端

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的格式一般由下列三部分组成:

  1. 协议(或称为服务方式);
  2. 存有该资源所在的服务器的名称或IP地址(包括端口号);
  3. 主机资源的具体地址。具体地址!!!
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/28847598

3.

 

参考:HTTP 教程 | 菜鸟教程 (runoob.com)

标签:HTTP,URL,URI,服务器,http,客户端
From: https://www.cnblogs.com/littleheadache/p/17292404.html

相关文章

  • 免费HTTP代理使用会被封掉吗
    网络代理是一种通过代理服务器向目标服务器发送请求的技术,它可以隐藏用户真实IP地址和位置信息,提高网络访问的隐私性和安全性。在代理服务器中,HTTP代理是代替用户发起请求的重要组成部分。而对于免费HTTP代理,人们普遍认为会被封掉。下面将从原理上解析免费HTTP代理会被封掉的可......
  • HTTPS协议概述&HTTPS使用成本&HTTPS对性能的影响&HTTPS常见问题
    HTTPS协议概述 HTTPS可以认为是HTTP+TLSTLS是传输层加密协议,它的前身是SSL协议  HTTPS功能介绍内容加密1、非对称密匙交换2、对称内容加密身份认证1、数字证书数据完整性HTTPS使用成本证书费用以及更新维护HTTPS降低用户访问速度消耗CPU资源,需要增加大量......
  • HTTP请求数据格式及响应数据格式
    一、什么是HTTP概念:HyperTextTransferProtocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则  HTTP协议特点:1、基于TCP协议:面向连接,安全2、基于请求-响应模型的:一次请求对应一次响应3、HTTP协议是无状态的协议:对应事务处理没有记忆能力。每次请求-响应都是独......
  • TCP/IP和OSI的基础层级关系图,TCP/IP四层模型关系,TCP/IP和HTTP/HTTPS的关系图
    TCP/传输控制协议英文全称TransmissionControlProtocol。IP/网际互连协议英文全称InternetProtocol。tcp和ip是互联网众多通信协议中最为著名的。1.OSI参考模型与TCP/IP的关系计算机网络分层模型OSI七层模型TCP/IP四层模型TCP/IP五层模型应用层应用层应用层......
  • 【精选】Nginx负载均衡学习笔记(一)实现HTTP负载均衡和TCP负载均衡(官方和OpenResty两种
    说明:很简单一个在HTTP模块中,而另外一个和HTTP是并列的Stream模块(Nginx1.9.0支持)一、两个模块的最简单配置如下1、HTTP负载均衡:http{includemime.types;default_typeapplication/octet-stream;upstreamlive_node{server127.0.......
  • 直播未来属于RTMP还是HTTP?
    直播未来属于RTMP还是HTTP?HTTP传视频比RTMP实现起来简单?HTTP延迟太高?答:直播通讯未来是属于html5的。 1,协议使用份额如今国内90%的面向大众的直播平台都是采用的rtmp和httpflv的混合,hls很少,而国外大部分采用的dash,少部分用hls和其他协议。2,先简单的描述下这些协议httpflv:这种直......
  • 7·1HTTP协议的瓶颈|7·2双工通信的WebScoket|7·3探索式的实践-SPDY|7·4期盼已久的H
    HTTP协议的瓶颈影响Http网络请求的原因带宽延迟HTTP协议的瓶颈一条连接上只可发送一个请求请求只能从客户端开始。客户端不可以接受除响应意外的指令请求/响应头部不经压缩就发送每次互相发送相同的头部造成的浪......
  • Winform/Caharp中使用HttpClient时添加请求头以及响应文件流实现文件下载
    场景Winform中怎样使用HttpClient调用http的get和post接口并将接口返回json数据解析为实体类:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/124157296在上面使用HttpClient调用get以及post接口的基础上,如何在请求接口时添加请求头,比如接口需要鉴权,获取token之后......
  • 6·2HTTPS协议概述|6·32HTTPS使用成本|6·42HTTPS对性能的影响|6·52HTTPS常见问题
    HTTPS可以认为是HTTPS+TLSTLS是传输层加密协议,它的前身是SSL协议HTTPS功能介绍 内容加密 非对称密钥交换 对称内容加密 身份认证 数字证书 数据完整性 HTTPS使用成本 证书费用以及更新维护 HT......
  • [!] CDN: trunk URL couldn‘t be downloaded: https://cdn.jsdelivr.net/cocoa/
    热烈欢迎,请直接点击!!!进入博主AppStore主页,下载使用各个作品!!!注:博主将坚持每月上线一个新app!!!清华CocoaPods镜像源:CocoaPods镜像使用帮助CocoaPods是一个Cocoa和CocoaTouch框架的依赖管理器,具体原理和Homebrew有点类似,都是从GitHub下载索引,然后根据索引下载依赖的源......