HTTP协议

目录

一、请求

​编辑二、应答

三、格式​编辑

[3.1 协议为什么要有空行](#3.1 协议为什么要有空行)

[3.2 如何理解正文](#3.2 如何理解正文)

[3.3 请求方法](#3.3 请求方法)

[3.4 URL](#3.4 URL)

[3.4.1 url 中所带的参数](#3.4.1 url 中所带的参数)

[3.5 版本](#3.5 版本)

[3.6 状态码及其描述](#3.6 状态码及其描述)

3.6.1重定向状态码

[3.7 请求报头](#3.7 请求报头)

[3.8 请求方法](#3.8 请求方法)

[3.8.1 GET](#3.8.1 GET)

[3.8.2 POST](#3.8.2 POST)

[3.8.3 POST和GET区别](#3.8.3 POST和GET区别)

四、cookie


一、请求

二、应答

三、格式

3.1 协议为什么要有空行

区分报头和有效载荷

3.2 如何理解正文

人们上网行为无非就两种:等待信息和上传信息 正文的作用就是这个

3.3 请求方法

我们主要使用GET和POST

3.4 URL

统一资源定位符,就是我们说的网址

  • 注意:/ 不一定是根目录,web根目录(代码) 任意一个目录(都可能)
3.4.1 url 中所带的参数

URL 中 /、?、: 等字符具有特殊含义,不能随意在参数中直接使用。若参数需包含这些特殊字符,必须先进行转义,转义规则如下:

  1. 将待转码的特殊字符转换为 16 进制形式。
  2. 对 16 进制结果,从右到左取 4 位(不足 4 位则直接处理)。
  3. 每 2 位作为一组,每组前加上 % 符号。
  4. 最终编码为 % XY 的格式(XY 为每组对应的 2 位 16 进制数)。

例如:

3.5 版本

HTTP有很多的版本 1.1 1.2 等 每个版本支持的功能都有所不同

3.6 状态码及其描述

注意:http 请求,必须要有应答报文,即使是错误的

3.6.1重定向状态码

重定向:

因为提供服务的一方,服务的地址发生变更,要求client更改访问位置,去新地址访问

永久和临时:

影不影响客户对地址的认识

301:永久重定向 : 网站换域名的时候,自动跳转到新域名,搜索引擎更新网站链接时使用

302 : 临时重定向 : 用户的登录(登录之后自动跳转到首页,访问首页必须要登录不影响客户对地址的认识)

原理

重定向报文不需要有效载荷

3.7 请求报头

content - Length : 有效载荷的长度

如何保证读到了一个完整的请求报头

读到空格

如果有正文,如何保证把正文部分一字不差的读取上来

content - Length

3.8 请求方法

上网的两种两种行为:

1、从服务器端获取内容

2、上传数据到服务器(表单)

以上的请求方法绝大部分使用的是GET 和 POST

浏览器获取数据,构建HTTP request 向服务器发起请求

3.8.1 GET

既可以获取信息,又可以上传信息

传参,通过url进行参数传递 ,参数传递给action(后端模块不是网页) ,之间通过?隔开

如何区别是获取信息还是上传信息

通过url是否存在& 和?

3.8.2 POST
3.8.3 POST和GET区别

GET可以获取静态资源

GET通过url传参

POST通过request body传参

四、cookie

http 是无状态的(不记录历史请求,和用户的行为),但是假设一个视频网站我们不保存它的历史请求,他没播放一个视频都需要登录一次无疑是十分麻烦的,所以HTTP为了保证能够对用户进行一定程度的转台保持功能,服务器+浏览器+HTTP(cookie + Seesion)

Version1

因为Cookie保存在浏览器中容易被人通过攻击浏览器获取个人信息和冒充,所以我们可以将它保存在服务器中如下

Version2

上述每一个用户认证通过之后,会形成session(中含有session_id) 在将session_id返回,形成cookie,再一次登录的时候通过寻找是否存在session_id完成认证

相关推荐
小张同学a.36 分钟前
LAMP架构2
linux·运维·网络·架构·负载均衡
9624561 小时前
跨域与私有网络访问限制排查实录
运维·服务器·网络
发量惊人的中年网工1 小时前
SD-WAN如何赋能工业物联网?打造工厂网络远程连接和数据传输新方案
运维·网络·分布式·物联网
Chengbei111 小时前
云存储桶漏洞检测工具OSS-2.0更新,全类型文件解析,存储桶遍历 + 敏感排查一站式完成渗透取证
网络·安全·web安全·网络安全·xss
乐维_lwops1 小时前
乐维社区“专家坐诊”第403期问答
运维·网络·监控系统·答疑·lerwee运维智能体
2401_873479402 小时前
IPv6支持不足怎么办?用双栈兼容IP离线库实现平滑过渡
数据库·网络协议·tcp/ip·ip
小王C语言2 小时前
虚拟机开机过程中关机,再次开机没有分配 IP
linux·网络·tcp/ip
零零信安2 小时前
暗网监测技术实践(一):威胁源采集与反爬对抗——基于《暗网情报技术能力框架》的双生态视角
网络·数据泄露·零零信安
翼龙云_cloud3 小时前
阿里云国际站代理商:ECS弹性伸缩 自动应对流量高峰
运维·网络·数据库·阿里云·架构
ZJH__GO3 小时前
网络编程v4--群聊和私聊的实现
运维·服务器·网络