HTTP -- HTTP概述

HTTP概述

HTTP使用的是可靠的数据传输协议。

web内容都是存储在web服务器上的,web服务器所使用的是http协议,故被称为http服务器。

web服务器是web资源的宿主,web资源是web内容的源头。

因特网上有数以千种的数据类型,http仔细的给每种要通过web传输的对象搭上了mime类型的数据格式标签。

web服务器会为所有的http对象附加一个mime类型,当web浏览器从服务器张去回忆额对象的时候,回去查看相关的mime类型,大多数浏览器都可以处理对象类型。

MIME类型

MIME类型是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间使用一条斜线来表示。

HTML: text/html

ASCII: text/plain

JPEG: image/jpeg

GIF: image/gif

URI

统一资源标识符:URI

URL

统一资源定位符: URL

URL描述了一台特定的服务器上某资源的特定位置,可以明确说明如何从一个精确,固定的位置获取资源。

URN

统一资源名URN。作为特定内容的唯一名称使用的,与目前的资源所在地无关,使用这些位置无关的URN,就可以将资源四出搬运,通过URN,还可以使用一个名字通过多种网络访问协议来访问资源。

事务

一个http事务由一条从客户端发往服务器的请求命令和一个从服务器发回客户端的响应结果组成,这种通信是通过http报文的格式化数据块进行的

状态码

每条http都会携带一个状态码,状态码是一个三位数字的代码,告知客户端请求是否成功,或者需要采用其他的动作。

web页面中可以包含多个对象

应用程序完成一项任务的时候会发布多个http事务。

报文

http报文是由一行一行的简单字符串构成的。http报文是纯文本,不是二进制代码。

HTTP报文包括起始行,首部字段,主体。

连接

TCP/IP

http是应用层协议,http无需操行网络通信的具体细节,联网的细节交给了tcp/ip协议

TCP提供了

  1. 无差错的数据传输
  2. 按序传输(数据总是会按照发送的顺序到达)
  3. 为分段的数据流(可以在任意时刻内以任何尺寸将数据发送出去)
    只要建立了tcp连接,客户端和服务器之间的报文交换就不会丢失,不会被破坏,也不会在接收的时候出现错序

连接,ip地址和端口号

在http客户端向服务器发送报文之前,需要使用ip地址和端口号在客户端和服务器中建立一条tcpip连接

协议版本

HTTP/0.9仅仅支持GET方法。

HTTP/1.0添加了版本号,各种HTTP的首部,以及对多媒体对象的处理。

HTTP/1.0+持久的Keep-alive连接,虚拟主机连接,代理连接支持都被加到http中。

HTTP/1.1

HTTP-NG(HTTP/2.0)

web的结构组件

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

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

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

隧道: 对HTTP同行报文转发的特殊代理

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

代理

首先来看http代理服务器,这是web安全,应用继承以及性能优化的重要组成模块。代理位于客户端和服务器之间,接受所有的客户端的HTTP请求,并将这些请求转发给服务器(可能对请求进行修改之后转发),对于用户来说,这些应用程序就是一个代理,代表用户访问服务器。

出于安全考虑,通常会将代理作为转发所有web流量的可信任中间节点使用,代理还可以作为请求和响应进行过滤。

缓存

web缓存或代理缓存是一种特殊的http代理服务器,可以经过代理传送的常用文档复制保存起来。下一个请求就可以享受缓存的私有副本提供的服务。

客户端从附近的缓存下载文档比从远程web服务器下载更快。

网关

网关是一种特殊的服务器,作为其他服务器的中间实体使用,通常用于将http流量转换为其他的协议,网关接受请求的时候就好像自己是资源的源服务器一样。

隧道

隧道是建立起来之后,就会在两条连接中间对原始数据进行盲转发的http应用程序,HTTP隧道通常用来在一条或者多条HTTP连接上转发非HTTP数据,转发的时候不会窥探数据。

http隧道的一种常见的用途是通过http连接承载加密的安全套接字层流量,这样ssl流量就可以穿过只允许web流量铜鼓殴打防火墙了

Agent代理

用户agent代理是代表用户发起http请求的客户端程序,所有发布web请求的应用程序都是HTTP Agent代理,HTTP Agent代理: Web 浏览器。但是用户代理还有很多其他的类型

相关推荐
稳联技术老娜5 小时前
DeviceNet主站怎么连接西门子PLC,Profinet网关配置手册(那智机器人)
服务器·网络·数据库
志栋智能7 小时前
AI驱动无代码:降低巡检超自动化的门槛
大数据·运维·网络·人工智能·自动化
专业机床数据采集7 小时前
C# 精雕数控 数据采集 Demo|实时读取精雕机床坐标、主轴、负载、加工工时全量参数
网络·网络协议·tcp/ip·mes·精雕数控数据采集
AOwhisky8 小时前
Ceph系列第六期:Ceph 文件系统(CephFS)精讲
linux·运维·网络·笔记·ceph
我爱C编程8 小时前
基于ECC簇内分组密钥管理算法的无线传感器网络matlab性能仿真
网络·matlab·ecc·密钥管理·无线传感器网络·簇内分组
Sagittarius_A*9 小时前
H3CSE 高性能园区网:园区网安全体系详解
网络·计算机网络·安全·h3cse
安全检测中12 小时前
探讨一个OSPF中NSSA类型的问题
网络
luj_176812 小时前
R语言生态优势与学习曲线分析
c语言·开发语言·网络·经验分享·算法
库拉大叔12 小时前
GPT-5.5 新手快速上手与实战指南
网络·人工智能·gpt
AI科技星12 小时前
万有引力G与真空介电常数ε0全维度完整关系式汇编(基于v=c螺旋时空理论)
c语言·开发语言·前端·javascript·网络·汇编·electron