波奇学Linux:http协议

news2024/11/16 15:25:35

2 个简单预备知识

        https://www.baidu.com/ -域名-字符串-域名解析--ip地址

http请求和响应 格式画出来,两个工具见一见

https协议绑定端口号443

http协议绑定端口号 80

url 统一资源定位符 所有网络的资源都可以用唯一的一个字符串标识,并且可以获取到

少量的情况,提交获取的数据本身可能包含和url冲突的字符,要求bs双方进程编码和解码

http request 请求行 请求报头, 请求正文

以空格 隔开

区分请求报头和请求正文 有空行,从字节流来说就是'\r\n'间隔在报头和请求正文

请求报头和请求正文之间有空行,使得能够读取完整报头

报头有属性:Content-Length::XX x为请求正文的内容

http response 状态行

响应正文

第一行是状态行

HTTP/1.1 200 OK

HTTP Version 状态码 状态码描述  \r\n

携带版本因为在于服务器和客户端不是同一个版本号的,便于提供不同服务

200是状态码 200表述可信,200后面是状态标识

哪怕请求是失败的也要有响应

写一个简单httpserver

user-agent表示访问的设备

协议是对二进制或者字符串进行处理

get方法获取资源,如网页的

数据都是通过表单来提交的

如果通过get方法提交,提交的参数 是通过url 提交的,服务器通过解析url决定返回什么资源

post方法是正文参数提交,参数数量受限,不私密

404如访问资源不存在

状态码是http协议确定的

永久重定向:访问A后跳转到B,下一次直接访问B,老网站跳转到新网站

临时重定向:访问A后跳转到B,每次都访问A,登录页面跳转到特定页面

重定向指导浏览器访问新的地址 

一次请求响应一个资源,关闭连接,短连接 http1.0

长连接 http1.1

建立一个TCP连接,发送和返回多个http的request和response

如一个网站有100资源(图片)等短连接建立100个连接,发送一百个请求,长连接建立1个连接,发送100个请求

Connect:keep-live:支持长连接

一个网页有很多个资源,多个资源申请连接

http协议是默认是无状态,第一次第二次分别独立,如果看视频要登录一次,看下一个视频要再登录一次

set-cookie可以有很多个字段,保存数据在cookie文件,浏览器每一次请求都会携带cookie字段,用户名和密码,网站会根据cookie文件读取数据,如账号密码

内存级:保存cookie文件在内存中。

文件级:保存cookie文件在磁盘中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1552184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

八种顺序读写函数的介绍(fput/getc;fput/gets;fscanf,fprintf;fwrite,fread)

一:读写的含义的解释: 读(读出):即从文件里面读出数据----------->和scanf从键盘里面读出数据类似 写(写入):即把数据写入文件里面----------->和printf把数据写入到屏幕上类…

13.Java能干什么?以及Java的三大平台

文章目录 一、JavaSE二、JavaME三、JavaEE JAVA从95年以来,已经问世了20多年了,可能比部分同学的年龄还大。 Java到底能干嘛呢,此时就需要讲到Java的三大平台,其实也就是它的三个分类:JavaSE、JavaME、JavaEE。 一、Ja…

PDFgear:一款免费的PDF编辑、格式转化软件

日常办公中,很多朋友都会接触到PDF文件。把文件转化成PDF是保留文件格式、防范别人修改常用的方法。但是很多人会为PDF文件的生成、压缩、编辑和格式转化而头疼,还有人为了能把PDF转化成Word还购买了不少付费的软件。 为了解决大家这个痛点,…

ES6 学习(三)-- es特性

文章目录 1. Symbol1.1 使用Symbol 作为对象属性名1.2 使用Symbol 作为常量 2. Iterator 迭代器2.1 for...of循环2.2 原生默认具备Interator 接口的对象2.3 给对象添加Iterator 迭代器2.4 ... 解构赋值 3. Set 结构3.1 初识 Set3.2 Set 实例属性和方法3.3 遍历3.4 相关面试题 4…

如何着手写一个自己的网站管理客户端

WebHole 项目地址 https://gitee.com/yiyefangzhou24/web-hole 是什么?能干什么? WebHole是一款网站管理软件,类似但不同于菜刀、冰蝎、蚁剑,能通过C/S的工作模式,方便的管理服务器的文件、数据库,并执…

Redis命令介绍

一、redis启动: 本地启动:redis-cli 远程启动:redis-cli -h host -p port -a password Redis 连接命令 1 AUTH password 验证密码是否正确 2 ECHO message 打印字符串 3 PING 查看服务是否运行 4 QUIT 关闭当前连接 5 SELECT index 切换…

VS2022 使用ClaudiaIDE设置自定义图片背景

ClaudiaIDE的下载 第一步,如下图所示,点击:扩展——管理扩展。 第二步,如下图所示,点击:联机——右上角输入ClaudiaIDE搜索——点击下载。 下载后关闭所有VS窗口,然后等待弹出一个安装窗口&…

商密测评必知:国密算法的重要性与应用

国密算法是指由中国国家密码管理局发布的密码算法标准,旨在保障国家信息安全。目前,国家密码管理局已发布了一系列国产商用密码标准算法,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9以及祖冲之密码算法(ZUC)等…

P4317 花神的数论题(数位DP)

数组别太小&#xff0c;注意取模的数 #include<bits/stdc.h> using namespace std; using ll long long; using pii pair<int,int>; #define int long long const int N 1e510; const int inf 0x3f3f3f3f; const int mod 1e77; int gcd(int a,int b){return b…

华为OD七日集训第5期 - 按算法分类,由易到难,循序渐进,玩转OD

目录 一、适合人群二、本期训练时间三、如何参加四、七日集训第 3 期五、精心挑选21道高频经典题目&#xff0c;作为入门。第1天、逻辑分析第2天、双指针第3天、数据结构第4天、滑动窗口第5天、并查集第6天、贪心思维第7天、二分查找 大家好&#xff0c;我是哪吒。 最近一直在…

肖恩带你拿捏结构体!

先赞后看&#xff0c;养成习惯&#xff08;&#x1f601;&#xff09;&#xff0c;几天不见&#xff0c;甚是想念&#xff0c;今天肖恩带大家拿捏结构体~~~ 1. 结构体类型的声明 那首先&#xff0c;什么是结构体呢&#xff1f; C语⾔已经提供了内置类型&#xff0c;如&#…

皮肤科医生护肤误区揭秘:不洗脸变美的真相?

在信息过剩的社会&#xff0c;大家不断被各种护肤秘籍、美容宝典所包围。最近&#xff0c;“一周不洗脸皮肤变好”的话题引起热议&#xff0c;而紧随其后关于“女子为护肤一个月不洗脸&#xff0c;结果脸上结满痂痕险严重毁容”的新闻再次引发广泛关注。这让大家纷纷产生了疑惑…

对象存储服务MinIO快速入门

对象存储服务MinIO快速入门 MinIO简介开箱使用快速入门封装MinIO为starter1 创建模块heima-file-starter2 配置类3 封装操作minIO类4 对外加入自动配置5 其他微服务使用 MinIO简介 官网文档 开箱使用 docker run -p 9000:9000 --name minio -d --restartalways -e "MINIO…

“李子园”上榜中国民营企业社会责任优秀案例

日前&#xff0c;由浙江省工商联、浙江工商大学主办&#xff0c;杭州市工商联协办的2024浙江民营企业社会责任暨浙商ESG研讨会在杭州召开&#xff0c;探索民营企业履行社会责任的方法路径和趋势。会上公布了2023年中国民营企业社会责任优秀案例&#xff08;浙江入选企业&#x…

在线接口文档预言方案

在线接口文档预言方案 要求&#xff1a; ​ 支持自动生成接口文档 ​ 能够支持在线测试(http&#xff0c;websocket) ​ 对代码没有侵入性 一、目前涉及的相关技术收集 sudo apt update #更新数据 sudo apt upgrade #更新软件 sudo apt install openssh-server #下载安装…

使用certbot为网站启用https

1. 安装certbot客户端 cd /usr/local/bin wget https://dl.eff.org/certbot-auto chmod ax ./certbot-auto 2. 创建目录和配置nginx用于验证域名 mkdir -p /data/www/letsencryptserver {listen 80;server_name ~^(?<subdomain>.).ninvfeng.com;location /.well-known…

类的定义与实例化

一.类的定义 1.1 格式 定义类的一般格式如下&#xff1a; class 类名{ public:公有成员列表; protected:保护成员列表; private:私有成员列表; }; 构成元素&#xff1a; &#xff08;1&#xff09;类头&#xff08;class head&#xff09; “class 类名”称为类头。 &…

Java学习记录第十三天

面向对象编程 核心思想就是OOP&#xff08;面向对象编程&#xff09; 面向过程&面向对象 面向过程思想 步骤清晰简单&#xff0c;第一步做什么&#xff0c;第二步做什么... 面对过程适合处理一些较为简单的问题 面向对象思想 物以类聚&#xff0c;分类的思维模式&…

Docker常见软件部署2

1 docker 安装redis集群 docker 安装redis集群&#xff0c;3主3从的配置。 1 创建一个redis通信网卡 #创建一个redis集群使用的网卡 docker network create redis --subnet 172.38.0.0/16 2 创建6个redis的配置文件 #通过脚本创建六个redis配置&#xff0c;复制下面命令直接…

VTK——自定义二维图像涂抹Widget(支持任意值涂抹),擦除,恢复 vtkCustomPaintWidget

通过鼠标控制 涂抹区域&#xff0c;可以进行&#xff0c;后退&#xff0c;可以进行二维标注&#xff0c;也可以进行回退&#xff0c;也可以任意值涂抹。 vtkCustomPaintWidget 1.标注&#xff1a; 2.擦除 视频&#xff1a; 2D标注 vtkPaint VTK 2D 标注 描绘 2D 擦除&#x…