http报文在php中的应用场景

简介: http报文在php中的应用场景

应用场景


设置响应文件类型


PHP 中 header 函数专门用于设置响应头


像header('Content-Type: text/css');


HTTP MIME type 指的就是 像


text/css


text/html


text/plain


applcation/javascript


案例1:自身简单设置文件类型


<?php
// PHP 中 header 函数专门用于设置响应头
header('Content-Type: text/html; charset=GBK');
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>这是一个网页内容</title>
</head>
<body>
  <h1>这是一个网页内容</h1>
</body>
</html>


案例2:设置外链php的文件类型




在index.html中,外链style.css style.php(设置文件类型为css) script.php(设置文件类型为javascript)


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <!-- 外链.css -->
  <link rel="stylesheet" href="style.css">
  <!-- 外链.php -->
  <link rel="stylesheet" href="style.php">
</head>
<body>
  <script src="script.php"></script>
</body>
</html>


style.css


body {
  background-color: hotpink;
}


style.php


<?php
// 通过 HTTP 响应头告诉客户端我们给你的内容是 CSS 代码
header('Content-Type: text/css');
?>
body {
  background-color: hotpink;
}


script.php


<?php
// 通过 HTTP 响应头告诉客户端我们给你的内容是 CSS 代码
header('Content-Type: application/javascript');
?>
alert(1);


重定向(跳转到其他网页)


这里是在 响应头中添加一个 location 的头信息


像header('Location: 01-content-type.php');


注意:


  • 客户端浏览器在接收到这个头信息过后会自动跳转到 指定的地址


  • 切记不能循环重定向


案例:


<?php
// 这里是在 响应头中添加一个 location 的头信息
// header('Location: 01-content-type.php');
// 客户端浏览器在接收到这个头信息过后会自动跳转到 指定的地址
// 切记不能循环重定向
header('Location: 03-location2.php');


<?php
header('Location: https://www.baidu.com');


下载文件


案例:


download.php


<a href="a.php">下载</a>


a.php


<?php
// 让文件下载
header('Content-Type: application/octet-stream');
// 设置默认下载文件名
header('Content-Disposition: attachment; filename=demo.txt');
?>
要下载的文本, 最终将本文件转化为txt形式


图片防盗链


通过判断请求来源 Referer 是否为本网站从而区分是否是合法请求


详细内容可参考这篇文章


https://blog.csdn.net/wanchong958/article/details/83339715

相关文章
|
8月前
|
网络协议 安全 API
WebSocket、Socket、TCP 和 HTTP 的差别与应用场景
WebSocket、Socket、TCP 和 HTTP 是网络通信中的四大“使者”,各具特色:HTTP 适合短时请求,TCP 稳定可靠,Socket 灵活定制,WebSocket 实现实时双向通信。本文用通俗语言解析它们的区别与应用场景,助你为项目选择最合适的通信方式。
2891 3
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
754 3
|
10月前
|
存储 消息中间件 前端开发
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
校园圈子系统校园论坛小程序采用uni-app前端框架,支持多端运行,结合PHP后端(如ThinkPHP/Laravel),实现用户认证、社交关系管理、动态发布与实时聊天功能。前端通过组件化开发和uni.request与后端交互,后端提供RESTful API处理业务逻辑并存储数据于MySQL。同时引入Redis缓存热点数据,RabbitMQ处理异步任务,优化系统性能。核心功能包括JWT身份验证、好友系统、WebSocket实时聊天及活动管理,确保高效稳定的用户体验。
556 4
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
418 3
|
8月前
|
Web App开发 缓存 数据安全/隐私保护
Django全栈实战:HTTP状态码与业务状态码的分层设计与实战应用
HTTP状态码是服务器响应请求的3位数字代码,分为1xx(信息)、2xx(成功)、3xx(重定向)、4xx(客户端错误)、5xx(服务器错误)。业务状态码则用于描述具体业务逻辑结果,常在响应体中返回。二者在前后端交互中有不同用途和处理方式。本文还介绍了如何在Django项目中设计并使用业务状态码。
643 0
|
11月前
|
人工智能 网络协议 API
开发效率翻倍!Apipost这些协议调试秘籍,从HTTP到金融报文全搞定
Apipost是一款强大的API研发管理工具,支持多种协议与数据格式,包括HTTP(s)、WebSocket、SSE、gRPC、TCP及金融协议(如ISO 8583、FIX)。它内置国密算法库,提供HTTP文件秒传、全局参数配置等实用功能。在SSE调试中,可轻松处理AI模型流式响应;WebSocket与Socket.IO实现高效实时通信;GraphQL支持可视化Query编写;TCP模块解决金融报文编码难题;gRPC则具备服务反射与流式调试能力。Apipost不仅简化了多协议切换的复杂性,还自动生成文档,显著提升开发效率,让开发者专注于核心业务逻辑。
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
351 18
|
JavaScript 前端开发 API
Superagent 异步请求:如何处理复杂的 HTTP 场景
Superagent 异步请求:如何处理复杂的 HTTP 场景
|
12月前
|
API
已经设置好连接器工厂的HTTP连接器,不会在表单控件里取值应用
这是一个关于通过天眼查API获取企业数据的需求介绍。已实现HTTP连接器调用并成功返回数据,但问题在于如何设计表单:使用单行文本输入企业名称后,触发API查询,将返回的相关数据自动填充到指定的单行文本中,期待高手提供解决方案。
|
数据采集 前端开发 算法
Python Requests 的高级使用技巧:应对复杂 HTTP 请求场景
本文介绍了如何使用 Python 的 `requests` 库应对复杂的 HTTP 请求场景,包括 Spider Trap(蜘蛛陷阱)、SESSION 访问限制和请求频率限制。通过代理、CSS 类链接数控制、多账号切换和限流算法等技术手段,提高爬虫的稳定性和效率,增强在反爬虫环境中的生存能力。文中提供了详细的代码示例,帮助读者掌握这些高级用法。
882 1
Python Requests 的高级使用技巧:应对复杂 HTTP 请求场景