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,响应实体

真正存储响应信息的部分

相关推荐
某不知名網友14 小时前
Linux Socket 编程完整讲解
网络
ICT系统集成阿祥14 小时前
不用复杂命令,快速定位二层 / 三层网络故障
网络·网络排查·二层故障·三层故障
wuqingshun31415914 小时前
说说TCP的3次握手?为什么需要三次握手?
服务器·网络协议·tcp/ip
CHANG_THE_WORLD14 小时前
1.简单的服务端和客户端(仅作为内容补充)
linux·服务器·网络
学术小白人14 小时前
【倒计时4个月】-AI赋能图像处理与计算机视觉技术国际学术研讨会
网络·人工智能·神经网络·数据分析·光学
无锡耐特森15 小时前
解决网关数据异常EtherNetIP 转Modbus TCP专用动态监测
网络·网络协议·tcp/ip
盟接之桥16 小时前
为制造而生:制造业EDI如何重塑全球连接力
网络·安全·低代码·汽车·制造
人工干智能16 小时前
神经网络:业务分层 vs 网络分层
网络·人工智能·神经网络
2401_8734794016 小时前
爬虫IP怎么防?IP离线库四层识别+日志留存,反爬留证两不误
爬虫·网络协议·tcp/ip·ip
三84416 小时前
BGP/BGP路由反射器/联邦/BGP属性/BGP选路
运维·服务器·网络