波奇学Linux:http协议

2024-03-29 00:52
文章标签 linux 协议 http 波奇学

本文主要是介绍波奇学Linux:http协议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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文件在磁盘中。

这篇关于波奇学Linux:http协议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/857169

相关文章

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

springboot如何通过http动态操作xxl-job任务

《springboot如何通过http动态操作xxl-job任务》:本文主要介绍springboot如何通过http动态操作xxl-job任务的问题,具有很好的参考价值,希望对大家有所帮助,如有错... 目录springboot通过http动态操作xxl-job任务一、maven依赖二、配置文件三、xxl-

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示