当前位置: 移动技术网 > 网络运营>网络>协议 > 1.1HTTP概述

1.1HTTP概述

2020年07月20日  | 移动技术网网络运营  | 我要评论

1.1 HTTP概述

HTTP(Hyper Text Transfer Protocol)----超文本传输协议,是一个用于从WWW服务器传输超文本到本地浏览器的传送协议。网上冲浪打开的无数个网页,接收到不同种类的信息,少不了HTTP协议可靠的数据传输的支持。

  • 客户端和服务器:进行Web活动,请求资源的是客户端,响应请求的是客户端,HTTP协议确保这两端的数据传输。无数条请求-响应线路构成了庞大的万维网。

  • 资源:Web服务器是Web资源(web resource)的宿主。所有能够提供的web内容都是web资源,可以是静态的,如jpg文件,也可以是软件程序,它们会动态生成客户端想要的资源,如搜索引擎。

  • 媒体类型:传输的资源有很多种类型。HTTP用MIME类型为每次传输的数据打上标签。MIME类型是一种文本标记,标识主要的对象类型和一个特定的子类型,中间用一条斜杠来分隔,如:html用text/html来表示。

    URI:统一资源标识符(Uniform Resource Identifier)。有两种形式:URL, URN

    URL:统一资源定位符(Uniform Resource Locator),是URI最常见的形式。是中心化的模式(如,以一个网站服务器为中心,资源在这个服务器手中,所有服务器都要发送请求以在这个服务器获取相关的资源)

    组成部分:协议类型(scheme)+ 服务器地址 + 具体的资源位置

    如: http:// www.joes-hardware.com /specials/saw_blade.gif

    URN:统一资源名(Uniform Resource Name),URN是作为内容的唯一名称使用的,与目的的资源所在地无关。例如:urn:ietf:rfc:2241

    这也就说明资源移动位置同样可以找到,因为名字是唯一的,不受在那个具体服务器的约束,具有去中心的思想。

    但是URN仍处于实验阶段,因为这需要一个支撑架构来解析资源的位置。架构的缺乏延缓其被采用的进度。

  • 事务 :一个HTTP事务由一条请求指令和一个响应结果组成。这种通信是通过名为HTTP报文的格式化数据块进行的。

    方法:HTTP支持几种不同的请求方法,这些命令被称为HTTP方法(HTTP method)

    常见的HTTP方法:GET PUT DELETE POST HEAD
    相关的详细讨论在后面

    状态码:HTTP响应报文会返回一个状态码告知客户端请求的状态如何,是否成功,或者是否需要采取其他动作。状态码是一个三位数字的代码。
    常见的HTTP状态吗:200(ok) 302(Redirect) 404(Not Found)

  • 报文 :请求和响应是通过报文形式传递的。HTTP都是纯文本,不是二进制代码。

    在这里插入图片描述

    HTTP报文包括:

    • 起始行(start line)(请求报文:要做些什么,响应报文:出现了什么情况)

    • 首部字段(HTTP headers)(情况,能力的描述),以空行 (CRLF)结束

    • 主体(body)(可选,内容为客户端或者服务器要发送给对方的数据。主体可以包含任意的二进制数据)

  • 连接 :报文如何通过传输控制协议连接从一个部分转移到另一个地方去呢?

    TCP/IP:HTTP是一个应用层协议,因此在传输时不需要考虑底层的具体实现,它把联网的细节都交给了通用,可靠的因特网传输协议TCP/IP,它提供了无差错的数据传输,按序传输。
    在这里插入图片描述

    连接,ip地址以及端口号:
    建立TCP/IP协议的连接之前,你得知道你想要连接的对象的ip地址和端口号,这样连接才能找对位置。ip地址可以是域名形式的,然后通过DNS 服务进行解析,也可以直接是数字形式的。

    当url中没有端口号时,可以默认端口号是80

  • web的结构组件 :在实际运用中,除开客户端和服务器,还需要很多别的组件协助,才能将实现较好的事务处理效果。

    代理:位于客户端和服务器之间的http中间实体

    在这里插入图片描述
    代理是web安全,应用集成以及性能优化的重要组成模块

    缓存:HTTP的仓库,使常用页面的副本可以保存在离客户端更近的地方

    在这里插入图片描述

    web缓存(web cache)或者代理缓存(proxy cache)是一种特殊的HTTP代理服务,保存常用文件的本地副本以提高性能。除了可共享的web缓存,浏览器也会在本地储存文件的本地缓存。

    网关 :连接其他应用程序的特殊web服务器

    网关(gateway)通常用于将HTTP流量转换成其他的协议

    隧道 :对HTTP通信报文进行盲转发的特殊代理

    隧道(tunnel)常用来在一条或者多条HTTP连接上转发非HTTP数据,转发时不会窥探数据,常见用途是通过HTTP连接承载加密的安全套接字层(SSL, Secure Sockets Layer)流量,这样SSL陆良就可以穿过只允许web流量通过的防火墙了。

    Agent代理 :代理用户发起自动HTTP请求的半智能web客户端

    web浏览器就是一种代理,此外还有“网络蜘蛛”(spiders)和“web机器人“(web robots)等

图源来自MDN
以上就是简要介绍,下面的章节将围绕上面的每个部分经行详细的介绍。

本文地址:https://blog.csdn.net/qq_42134736/article/details/107434983

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网