HTTP基本概念介绍

HTTP概述

HTTP : 超文本传输协议,HTTP是浏览器端Web通信的基础。

一, 两种架构

B/S架构:Browser/Server,浏览器/服务器架构。

B: 浏览器,比如Firefox 、Google 、Internet;

S: 服务器,Apache,nginx;

C/S架构:Client/Server,客户端/服务器架构。

B/S架构相对于C/S架构,客户机上无需安装任何软件,使用浏览器即可访问服务器。

因此,越来越多的C/S架构正被B/S架构所替代。

二,基于请求响应的模式

HTTP协议永远都是客户端发起请求,服务器做出响应

也就是说,请求必定是先从客户端发起的,服务器端在没有接收到请求之前不会发送任何响应;

这就无法实现这样一种场景:服务器端主动推送消息给客户。

三,无状态

当浏览器第一次发送请求给服务器时,服务器做出了响应;

当浏览器第二次发送请求给服务器时,服务器同样可以做出响应,但服务器不知道第二次的请求和第一次来自同一个浏览器

也就是说,服务器是不会记住你是谁的,所以被称之为无状态。

而如果要使HTTP有状态,就可以使浏览器访问服务器时,加入Cookie

这样,只要你在请求时有了这个Cookie,服务器就能够通过Cookie知道,你就是之前那个浏览器

这样的话,http协议就有状态了。

四,请求报文

1请求行 + 请求头 + 空行 + 实体

1 请求行

请求行里面有:

请求方法:比如GET、POST

资源对象(URI)

协议名称和版本号(HTTP/1.1)

【例】:

POST/custom/a234425452543543543435/web/cstm?stm = 1787987987 HTTP/1.1

POST 即请求方法

/custom/a234425452543543543435/web/cstm?stm = 1787987987 即 URL

HTTP/1.1 协议和版本

2 请求头

请求头由于告诉服务器该请求的一些信息,起到传递额外信息的目的

3 空行

空行是为了区分 请求头 和 请求实体

4 请求实体

请求实体为真正所需要传输的数据

五,响应报文

状态行 + 响应头 + 空行 + 消息体

1,状态行

状态行主要由三部分组成:

HTTP版本

状态码(表示相应的结果)

原因短语(解释)

HTTP/2 200 OK

HTTP/2 协议和版本

200 状态码 - 200代表OK,表示请求成功,404代表NOT FOUND,表示请求失败,所请求资源未在服务器上发现

OK 原因短语

2,响应头(相应报文首部)

和请求报文首部一样,响应报文首部同样是为了传递额外信息,例如:

date: TUE, 05 APR 2022 10:48:17 GMT //响应时间

content - type :application/json //响应格式

content - transport - security: max-age = 315360000 //长度

3,空行

同样是为了区别响应实体和响应首部

4,响应实体

真正存储响应信息的部分

相关推荐
2601_9632827711 小时前
寒地窄带通信工程实践:黑龙江哈尔滨对讲机选型、组网与合规运维总结
运维·服务器·网络
是真的小外套12 小时前
网络安全实战第14期:Week2周末闯关
网络·安全·web安全
xbzb12 小时前
OpenStack 网络管理(理论):Linux 网络虚拟化是 Neutron 的地基
linux·服务器·网络·openstack·network·neutron
QXWZ_IA15 小时前
边坡监测预算有限时的建设顺序:虚拟基准站与成本账
网络·数据库
聪明蛋子哟18 小时前
大模型应用“最后一公里”:从Prompt工程到MCP协议,如何实现跨系统的高可用集成?
网络·prompt
科创致远19 小时前
ESOP 电子作业指导书 WiFi 网络应用实测报告
运维·服务器·网络
承渊政道19 小时前
Linux网络学习【从NAT与代理服务理解网络转发、探索内网穿透原理、再到认识DNS与ICMP、最后动手部署并测试内网穿透】
linux·网络·学习·内网穿透·dns·nat
最强小杰19 小时前
minimax-m3 突然报 HTTP 529 怎么办?连续重试为何更难恢复,退避时间该怎么算?
网络·网络协议·http·ai
程序员清风19 小时前
AI 编程助手的权限边界:文件、命令、密钥与人工确认
运维·服务器·网络
别讲概念20 小时前
JavaEE(5)网络原理初识
网络·java-ee·智能路由器