揭秘HTTP协议:深入了解互联网通信的核心!

news2024/11/19 3:24:49

文章目录

  • HTTP
    • HTTP的消息结构
    • HTTP 常用请求方法
    • HTTP 状态码

HTTP

HTTP 是超文本传输协议,HTTP是缩写,全称是 HyperText Transfer Protocol

超文本指的是 HTML、css、JavaScript和图片等,HTTP的出现就是为方便接收和发布超HTML页面,经过不断的发展,也可以用于发布接收一些音频、文件等。

HTTP 协议是用于客户端和服务端之间的通信,除此之外还有 TCP/IP 协议族在内的众多协议,请求文本资源的一方,我们称之为客户端(client),接收请求并提供相应的一方称为服务端(Server)

有时候,客户端和服务端身份是可以互换的,单就一条通信线路来讲,可以确定的是,由HTTP协议就可以区分谁是客户端谁是服务端

HTTP 的特点:

  • 支持客户端、服务端模式,简单快速,http 允许任意传输类型的数据对象,无连接,限制每次连接处理一个请求,无状态,指明协议对事物处理没有标记的能力。
  • 灵活:允许任何数据对象,音频、视频、图片、文件等…
  • 无状态:任何两个请求之间没有必然的联系
  • 无连接:每次服务器在处理完请求后,就断开连接了,再请求就是新的连接,采用这种方式节省传输时间

HTTP1.0版的主要缺点

每个TCP 连接智能发送一个请求,发送数据完毕后,连接就关闭了,HTTP 是一种不保存状态,无状态协议,协议对于发送过来的请求或是响应都不做持久化处理

HTTP1.1虽然是无状态协议,但是为了实现期望的保存状态功能,于是引入了 Cookie技术,有了 Cookie,HTTP 协议通信,就可以管理状态了。

在这里插入图片描述
在这里插入图片描述

TCP 连接的新建成本很高,因为客户端需要和服务端 三次握手

交流端简单流程:客户端发起连接,客户端发起请求,服务端响应请求,服务端关闭链接

HTTP的消息结构

请求消息的结构:

一个请求消息是由 请求行,请求头字段,一个空行和消息主体 构成

消息主体是响应消息的承载数据

客户端:发送请求

GET/HTTP/1.1
Host: xiangi.love

服务器:发送响应

HTTP/1.1 200 OK
Date: Tue, 10 Jul ...
Content.Length: 362
Content.Type: text/html
<html>
...

在这里插入图片描述

Request Method:请求方法
Request URL:请求URL 的路径
Status Code 为状态码
Remote Address:地址

HTTP 是基于 TCP/IP 协议的应用层协议,不涉及数据包传输,规定了客户端和服务端之间的通讯方式,默认使用80端口

HTTP 发送请求例子:

在这里插入图片描述

服务器回应消息格式:

在这里插入图片描述

响应头:

Server 为服务器的名称,Location 为通知客户端新的资源位置,Content-Type 为数据类型,

# Content-Type 字段类型
text/plain
text/html
text/css
image/jpeg
image/png
image/svg+xml
audio/mp4
video/mp4
application/javascript
application/pdf
application/zip
application/atom+xml

HTTP 常用请求方法

常见的是 GET、POST 除此之外还有…

1.GET为获取资源数据
get方法用于请求指定的页面信息,并返回请求消息的主体

2.POST为提交资源数据
post方法用于向指定的资源提交数据

3.PUT为更新资源数据
4.DELETE为删除资源数据
5.HEAD为读取资源的元数据
6.OPTIONS为读取资源多支持的所有请求方法
7.TRACE为回显服务器收到额请求
8.CONNECT为保留将来使用

HTTP 1.0 只有 GET、POST、HEAD 三种请求方式,其他的都是 1.1 新增的 其中包括(OPTOPNS、PUT、DELETE、TARCE、CONNECT)

HTTP 状态码

200 成功!

500 出bug了

404 没有找到资源

302 临时跳转,非永久性,以闪电五连鞭之势就完成了跳转

301 永久性重定向,

在这里插入图片描述

HTTP/2 版本主要增加以下几点:

  • 是二进制协议,不再是纯文本。
  • 支持一个 TCP 连接发起多请求,移除了 pipeline。
  • 利用 HPACK 压缩头部,减少数据传输量。
  • 允许服务端主动推送数据。

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

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

相关文章

基于Echarts的大数据可视化模板:厅店营业效能分析

目录 引言厅店营业效能分析的重要性大数据时代下的零售业基于Echarts的厅店营业效能分析案例分析目标和数据准备图表类型的选择和参数设置图表样式和交互功能的优化Echarts与大数据可视化Echarts库以及其在大数据可视化领域的应用优势开发过程和所选设计方案模板如何满足管理的…

私域2.0大变革:构建用户亲密关系,让你的品牌脱颖而出!

一、私域2.0发展趋势 1. 常态化&#xff1a;2024年&#xff0c;做私域已经成为“标配” 根据腾讯营销洞察&#xff08;TMI&#xff09;的研究&#xff0c;微信生态和自营APP等私域触点在中国市场的渗透率已经达到了惊人的96%。这意味着&#xff0c;超过四分之三的消费者在过去…

AES加解密模式

要想学习AES&#xff0c;首先要清楚三个基本的概念&#xff1a;密钥、填充、模式。 1、密钥 密钥是AES算法实现加密和解密的根本。对称加密算法之所以对称&#xff0c;是因为这类算法对明文的加密和解密需要使用同一个密钥。 AES支持三种长度的密钥&#xff1a; 128位&#xff…

【Java】正则表达式( Pattern 和 Matcher 类)

快速入门 Java 提供了 java.util.regex 包&#xff0c;它包含了 Pattern 和 Matcher 类&#xff0c;用于处理正则表达式的匹配操作。 java.util.regex 包主要包括以下三个类&#xff1a; Pattern 类&#xff1a; pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共…

Vue面试之组件通信的方式总结(下篇)

Vue面试之组件通信的方式总结 $refprovide&injectprovideinject EventBus事件总线vuex 最近在整理一些前端面试中经常被问到的问题&#xff0c;分为vue相关、react相关、js相关、react相关等等专题&#xff0c;可持续关注后续内容&#xff0c;会不断进行整理~ 在Vue框架中&…

PXE 高效批量网络装机

前提&#xff1a; 虚拟机恢复到初始化 调整网卡为vm1 关闭防火墙 安全linux systemctl stop firewalld vim /etc/selinux/config 配置IP地址 vim /etc/sysconfig/network-scripts/ifcfg-ens33 重启网卡 systemctl restart network 挂载磁盘 安装yum源 安装服务 yum install vs…

DETR tensorRT 的 C++ 部署

DETR tensorRT 的 C 部署 本篇说说DETR tensorRT 的 C 部署。 【完整代码、模型、测试图片】 1 导出 onnx 模型&#xff08;建议先看&#xff09; 方法1&#xff1a;导出DETR onnx并修改模型输出Gather层&#xff0c;解决tesorrt 推理输出结果全为0问题&#xff0c;参考【D…

代码随想录算法训练营第17天 | 110.平衡二叉树 + 257. 二叉树的所有路径 + 404.左叶子之和

今日内容 110.平衡二叉树 257. 二叉树的所有路径 404.左叶子之和 110.平衡二叉树 - Easy 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1…

【设计模式-03】Strategy策略模式及应用场景

一、简要描述 Java 官方文档 Overview (Java SE 18 & JDK 18)module indexhttps://docs.oracle.com/en/java/javase/18/docs/api/index.html Java中使用到的策略模式 Comparator、comparable Comparator (Java SE 18 & JDK 18)declaration: module: java.base, pa…

【生产者消费者模型的 Java 实现】

文章目录 前言传统派维新派 前言 题目&#xff1a;一个初始值为零的变量&#xff0c;多个线程对其交替操作&#xff0c;分别加1减1 实现步骤&#xff1a; 线程操作资源类判断&#xff0c;干活&#xff0c;通知防止虚假唤醒机制&#xff0c;即&#xff1a;多线程的判断需要用…

自旋框的使用

1. 自旋框 实例化 //实例化单精度自旋框QSpinBox* spinBox new QSpinBox(this);//实例化双精度自旋框QDoubleSpinBox* doubleSpinBox new QDoubleSpinBox(this);1.1 单精度自旋框 QSpinBox 1.1.1 单精度自旋框的基本函数 QSpinBox_QDoubleSpinBox Dialog.cpp #include "…

更快更稳的4K响应鼠标,小手玩家也能用,雷柏VT9PRO mini

雷柏今年推出了不少新品&#xff0c;特别是一系列支持4K回报率的鼠标&#xff0c;凭借敏捷的响应速度&#xff0c;获得了非常好的评价。不过之前雷柏出的4K鼠标都多适合中大手&#xff0c;对小手用户不友好&#xff0c;而且配色较少&#xff0c;都是黑白色的基础款&#xff0c;…

基于爬虫和Kettle的书籍信息采集与预处理

一&#xff1a;爬虫 1、爬取的目标 将读书网上的书籍的基本信息&#xff0c;比如&#xff1a;封面、书名、作者、出版社、价格、出版时间、内容简介、作者简介、书籍目录、ISBN和标签爬取出来&#xff0c;并将爬取的结果放入数据库中&#xff0c;方便存储。 2、网站结构 图1读…

HackTheBox - Medium - Linux - UpDown

UpDown UpDown 是一台中等难度的 Linux 机器&#xff0c;暴露了 SSH 和 Apache 服务器。在Apache服务器上&#xff0c;有一个Web应用程序&#xff0c;允许用户检查网页是否已启动。服务器上标识了一个名为“.git”的目录&#xff0c;可以下载以显示目标上运行的“dev”子域的源…

从事铁路工作保护足部,穿什么劳保鞋更安全

铁路运输在我国交通运输业中起着骨干作用&#xff0c;为国民经济的可持续发展和人口流动做出了巨大贡献。安全是铁路运输不可忽视的问题&#xff0c;在作业场地随处能见到“安全就是生命&#xff0c;责任重于泰山”的安全标语&#xff0c;由此可见安全问题是放在首位的。 铁路施…

❤ Vue3 完整项目太白搭建 Vue3+Pinia+Vant3/ElementPlus+typerscript(一)yarn 版本控制 ltb (太白)

❤ 项目搭建 一、项目信息 Vue3 完整项目搭建 Vue3PiniaVant3/ElementPlustyperscript&#xff08;一&#xff09;yarn 版本控制 项目地址&#xff1a; 二、项目搭建 &#xff08;1&#xff09;创建项目 yarn create vite <ProjectName> --template vueyarn install …

用我这套模板,几分钟做出文档网站!

大家好&#xff0c;我是保姆皮&#xff0c;最近我上线了自己的《编程宝典》网站&#xff0c;可以在线阅读我分享过的各种编程学习路线和知识干货。 指路&#xff1a;https://codefather.cn/ 不少小伙伴催我出教程&#xff0c;说也想做个类似的文档网站。 所以我用最快的速度出了…

挑选富集分析结果 enrichments

#2.2挑选term---selected_clusterenrichenrichmets[grepl(pattern "cilium|matrix|excular|BMP|inflamm|development|muscle|vaso|pulmonary|alveoli",x enrichmets$Description),]head(selected_clusterenrich) distinct(selected_clusterenrich)# remove duplica…

firewalld防火墙命令行工具

firewall-cmd命令 &#xff08;1&#xff09;启动、停止、查看firewalld服务 在安装CentOS 7系统时&#xff0c;会自动安装firewalld 和图形化工具firewall-config.执行以下命令可 以启动 firewalld 并设置为开机自启动状态。 [rootllcgc ~]# systemctl start firewalld.serv…

关于Python里xlwings库对Excel表格的操作(三十一)

这篇小笔记主要记录如何【如何使用“Chart类”、“Api类"和“Axes函数”设置绘图区外框线型、颜色、粗细及填充颜色】。前面的小笔记已整理成目录&#xff0c;可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 &#xff08;1&#xff09;如何安…