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

真正存储响应信息的部分

相关推荐
KKKlucifer2 小时前
加密通信 + 行为分析:运营商行业安全防御体系重构
网络·安全·重构
achene_ql5 小时前
select、poll、epoll 与 Reactor 模式
linux·服务器·网络·c++
黎相思5 小时前
应用层自定义协议与序列化
运维·服务器·网络
邪恶的贝利亚6 小时前
实现p2p的webrtc-srs版本
网络协议·webrtc·p2p
Lightning-py7 小时前
Linux命令cat /proc/net/snmp查看网络协议层面统计信息
网络·网络协议·tcp/ip
2501_915106327 小时前
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
websocket·网络协议·tcp/ip·http·网络安全·https·udp
wo3258661457 小时前
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
开发语言·网络·php
光路科技8 小时前
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
服务器·网络·重构
云盾安全防护10 小时前
CC攻击与WAF的对抗战
网络·安全·ddos
还是鼠鼠10 小时前
HTTP 请求协议简单介绍
java·开发语言·网络·网络协议·http