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

真正存储响应信息的部分

相关推荐
梦中北山4 分钟前
JWT安全分析
开发语言·网络·安全·web安全·php
hgdlip11 分钟前
路由器的ip地址与网关的区别是什么
网络·网关·tcp/ip·智能路由器
小鼠米奇1 小时前
13.什么是Proxy?
网络·安全·web安全
都适、隶仁ミ1 小时前
SQL注入工具Sqlmap
linux·网络·数据库·sql·安全·网络安全·系统安全
2401_857622662 小时前
如何在Laravel中实现数据验证:确保数据准确性的最佳实践
前端·网络·laravel
网安加社区2 小时前
行业洞察 | 2024应用程序安全领域现状报告
网络·安全·网络安全
念晚9174 小时前
Linux——/etc/passwd文件含义,grep,cut
linux·运维·服务器·前端·网络·数据库
DHDN——19974 小时前
C语言 实现socket服务器客户端通信
服务器·c语言·网络
蓝桉8029 小时前
考研计算机网络(第二章 物理层3)
网络·计算机网络·考研
Monster✺◟(∗❛ัᴗ❛ั∗)◞✺9 小时前
firewalld(7)NAT、端口转发
linux·运维·服务器·网络·iptables·nat·firewalld