HTTP -- HTTP概述

news2024/9/8 10:07:49

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 浏览器。但是用户代理还有很多其他的类型
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1703674.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在Bash中解析命令行参数的两种样例脚本

文章目录 问题回答以空格分隔选项和参数以等号分隔选项和参数 参考 问题 假设,我有一个脚本,它会被这样一行调用: ./myscript -vfd ./foo/bar/someFile -o /fizz/someOtherFile或者这个: ./myscript -v -f -d -o /fizz/someOtherFile ./fo…

C++ ─── string的模拟实现

本博客将简单实现来模拟实现string类,最主要是实现string类的构造、拷贝构造、赋值运算符重载以及析构函数。 下期我们继续讲解完整版string的模拟实现(将不再会是浅拷贝了) 说明:下述string类没有显式定义其拷贝构造函数与赋值运…

30秒学会一个ChatGpt-4o小技巧 --- 照片漫画化

文章目录 选择照片修改图片 选择照片 先选择自己的一张照片 当然首先你得能够访问ChatGpt-4o, 图片生成能力只有ChatGpt-4才有 所以我们先登录到 国内能够使用的ChatGpt网站: 我要超级GPT 然后把图片上传,再写提示词:请帮我把这种照片按照日系动漫风…

【quarkus系列】构建可执行文件native image

目录 序言为什么选择 Quarkus Native Image?性能优势便捷的云原生部署 搭建项目构建可执行文件方式一:配置GraalVM方式二:容器运行错误示例构建过程分析 创建docker镜像基于可执行文件命令式构建基于dockerfile构建方式一:构建mic…

fpga系列 HDL 00 : 可编程逻辑器件原理

一次性可编程器件(融保险丝实现) 一次性可编程器件(One-Time Programmable Device,简称 OTP)是一种在制造后仅能编程一次的存储设备。OTP器件在编程后数据不可更改。这些器件在很多应用场景中具有独特的优势和用途。 …

重生之我要精通JAVA--第六周笔记

File 路径 相对路径 路径1:“a.txt” 路径2:“abc\\a.txt” 绝对路径 路径1:“c:\\a.txt” 路径2:“c:\\abc\\a.txt” File对象就表示一个路径,可以是文件的路径、也可以是文件夹的路径这个路径可以是存在的&…

c++ (命名空间 字符串)

思维导图&#xff1a; 定义自己得命名空间myspace,在myspace中定义string类型变量s1,再定义一个函数完成字符串逆置 #include <iostream> #include <cstring> //定义自己得命名空间myspace,在myspace中定义string类型变量s1,再定义一个函数完成字符串逆置 using n…

西门子smart line触摸屏软件安装 WinCC Flexible Smart V4SP1 V3

提示&#xff1a;Wincc flexible smart软件为西门子Smart line系列触摸屏的专用组态软件&#xff0c;这款屏不能用博途来组态&#xff0c;只能用这个软件来组态。西门子Smart line系列触摸屏的常用型号为SMART 700 IE V3/V4&#xff0c;SMART 1000 IE V3/V4。 Wincc flexible …

引力为什么会让时间变慢,给你通俗的解读

爱因斯坦的狭义相对论表明&#xff0c;速度会让时间变慢&#xff0c;速度越快时间就越慢。而广义相对论告诉我们&#xff0c;引力同样会让时间变慢&#xff0c;引力越强时间就越慢。 时间膨胀 速度对时间的影响就先不解释了&#xff0c;之前的科普文章介绍了很多&#xff0c;今…

Android开发 -- JNI开发

1.配置JNI环境 创建JNI文件夹 在项目的主目录中创建一个名为 JNI 的文件夹。这个文件夹将包含所有的本地源代码和配置文件。 编写Android.mk文件 这个文件是一个 Makefile&#xff0c;用来指导 NDK 如何编译和构建本地代码。 #清除之前定义的变量&#xff0c;确保每个模块的…

电流采样(分流器与霍尔传感器)

在对于电信号采集的设计中&#xff0c;其中对电流信号的采集是非常常见的&#xff0c;根据电流信号的属性&#xff0c;如信号大小、信号周期等因素&#xff0c;以及采样的需求指标不一样&#xff0c;往往需要选择不同的采样方式进行采样。 下面主要介绍分流器和霍尔元件采样电…

【漏洞复现】号卡极团分销管理系统 ue_serve.php 任意文件上传漏洞

0x01 产品简介 号卡极团分销 管理系统&#xff0c;同步对接多平台&#xff0c;同步订单信息&#xff0c;支持敢探号一键上架&#xff0c;首页多套U|商品下单页多套模板&#xff0c;订单查询支持实时物流信息、支持代理商自定义域名、泛域名绑定&#xff0c;内置敢探号、172平台…

写好的文章怎样联系媒体投稿?

作为单位信息宣传的桥梁,我肩负着将单位的每一次活动、每一项成就转化为社会认可与赞美的重任。初涉此职,我满腔热血,以为凭借扎实的文字功底与不懈的努力,便能在各大媒体平台上为单位赢得一席之地。然而,现实很快就给了我一记响亮的耳光。 我最初采取的是最直接的方式——邮箱…

win10/win11 优先调用大核的电源计划性能设置

前言 大小核&#xff0c;即Intel 12代开始的P-core&#xff08;性能核&#xff0c;一般叫大核&#xff09;和E-core&#xff08;能效核&#xff0c;一般叫小核&#xff09;异核架构。说下个人理解&#xff0c;就是英特尔为了增加cpu性能&#xff0c;但是又因为架构和功耗的限制…

微信小程序上传包过大的最全解决方案!

微信小程序的发布大小限制是2MB。然而一个程序怎么能这么小&#xff1f; 介绍一下项目中的经验。 新项目 如果是刚开始做的新项目&#xff0c;一定确定好自己要用的Ui框架&#xff0c;而且确定之后&#xff0c;千万不要引入别的&#xff0c;否则占大小&#xff01;&#xff0…

人类行为验证处理方案 —— 脱离UI组件库实现登录、注册+表单校验

目录 01: 构建登录模块基础UI结构 02: 表单校验实现原理与方案分析 表单校验的实现原理 自定义表单校验方案分析 文章中的方案实现 03: 基于 vee-validate 实现普适的表单校验 04: 什么是人类行为验证&#xff1f;它的目的、实现原理、构建方案分别是什么&am…

three.js官方案例webgl_loader_fbx.html学习

目录 1.1 添加库引入 1.2 添加必要的组件scene,camera,webrenderer等 1.3 模型加载 1.4 半球光 1.5 动画 1.6 换个自己的fbx模型 1.7 fbx模型和fbx动画关联 1.7 html脚本全部如下 1.8 fbx.js全部脚本如下 1.1 添加库引入 import * as THREE from three; import Stats …

AI重塑了我的工作流

阅读内容 Inhai: Agentic Workflow&#xff1a;AI 重塑了我的工作流 4 种主要的 Agentic Workflow 设计模式 Reflection&#xff08;反思&#xff09;&#xff1a;让 Agent 审视和修正自己生成的输出。 举例&#xff1a;如果有两个 Agent&#xff1a;一个负责 Coding&#…

【加密与解密(第四版)】第十二章笔记

第十二章 注入技术 12.1 DLL注入方法 在通常情况下&#xff0c;程序加载 DLL的时机主要有以下3个&#xff1a;一是在进程创建阶段加载输入表中的DLL&#xff0c;即俗称的“静态输人”;二是通过调用 LoadLibrary(Ex)主动加载&#xff0c;称为“动态加载”&#xff1b;三是由于系…

实现UI显示在最上面的功能

同学们肯定遇到过UI被遮挡的情况&#xff0c;那如何让UI显示在最前面呢&#xff0c;先看效果 原理:UI的排序方式是和unityHierarchy窗口的层级顺序有关的&#xff0c;排序在下就越后显示&#xff0c;所以按照这个理论&#xff0c;当我们鼠标指到UI的时候把层级设置到最下层就好…