浅说http

看到防盗链就得思考一下http,所以现在说点http基础(个人理解)

一、浅谈http协议:

1、http协议是基于tcp/ip协议,tcp协议大概共有7层,应用层,传输层,表示层,会话层,数据链路层,物理层,网络层,但实际综合只有四层数据段、数据包、数据帧、比特流,如下图:


2、HTTP是Hyper Text Transfer Protocol(超文本传输协议)大概了解它有1.0版本即短连接、1.1版本即长连接(今天普遍使用长连接)

3、HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议

4、HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。默认HTTP的端口号为80,HTTPS的端口号为443。

二、简单知识:

(一、)请求服务器的部分
host:主机名
user-agent:浏览器的信息,可以看出其内核,操作版本
accept :浏览器把支持的数据格式 html/xml/application
accept_languange:浏览器所支持的语言
accept-enconding:浏览器所支持的压缩格式
connection:保持连接
conten-type:客户端向服务器所发送的数据类型
content-length:客户端向服务器所发送的数据的长度,(这里需要是post的才有,因为get方式会将数据以名值对的形式写的地址栏上

cookie:客户端向服务器发送的cookie(数据)
referrer: 当网页是由哪个页面跳转而来的
if-modified-since:访问客户端此次请求的文件,服务器有没有修改过
二、响应服务器的部分
响应头
响应的报头
空行
数据
响应头包含的协议与版号状态码(status) 状态码的描述
常用的状态码:200(成功),404(请求的文件不存在) 403(请求有权限)、304(取缓存页面)

响应的报头:
date:处理的时间
server:服务器的信息
last-modified:请的文件的最后修改时间
content-length:服务器响应的数据长度
content-type:服务器响应的数据的类型
空行
响应的数据

三、php模拟http响应
设置编码:
header("Content-tyep:text/html;charset=utf-8");
重定向
header("loaction:跳转的url");
header("refreshe:时间,url='路径'");

①修改http内容,告诉浏览器,实现文件下载
<?php
header("content-type:application/octet-stream");
header("content-disposition:attachement;filename=文件名");
echo file_get_contents("真实文件名");

?>


②通过header来禁用缓存

header("Expires:-1");

header("Cache-control:no-cache");

header("Progrma:no-cache");


---------后续再补上,防盗链案例!!!!



资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值