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

真正存储响应信息的部分

相关推荐
you秀1 分钟前
HTTPS通信流程:SSL/TLS握手全解析
网络协议·https·ssl
2501_915921432 小时前
iOS IPA 混淆实测分析:从逆向视角验证加固效果与防护流程
websocket·网络协议·tcp/ip·http·网络安全·https·udp
2501_915918412 小时前
打造可观测的 iOS CICD 流程:调试、追踪与质量保障全记录
websocket·网络协议·tcp/ip·http·网络安全·https·udp
Absinthe_苦艾酒4 小时前
计算机网络(三)传输层TCP
网络·tcp/ip·计算机网络
GLAB-Mary5 小时前
AI会取代网络工程师吗?理解AI在网络安全中的角色
网络·人工智能·web安全
敲敲敲-敲代码5 小时前
【ArcGIS10.2】网络数据集构建---最短路径分析
网络·arcgis
小菜鸡95275 小时前
http、SSL、TLS、https、证书
http·https·证书·ssl·tls
2501_915909066 小时前
调试 WebView 旧资源缓存问题:一次从偶发到复现的实战经历
websocket·网络协议·tcp/ip·http·网络安全·https·udp
向明天乄7 小时前
在小程序中实现实时聊天:WebSocket最佳实践
websocket·网络协议·小程序
小湘西7 小时前
Apache HttpClient 的请求模型和 I/O 类型
java·http·apache