了解HTTP协议

在了解HTTP协议之前应该明白任何数据的交互都是有协议存在的 例如网互联的沟通是基于TCP/IP寻址协议的使电脑能够找到彼此

浏览器与服务器之间的数据交互需要借助HTTP协议(HypeTextTransferProtocl)超文本传输协议 

详细规定了 浏览器和万维网服务器之间相互通信的规则 通过因特网传送万维网文档的数据传输协议、

HTTP主要由 http请求 和 http 响应来决定的

作用: 用于服务器传输超文本到本地浏览器   更高效 使网络传输减少 保证计算机能够安全快速的传输超文本文档

特点: 即支持b/s 又支持c/s  简单 快速 灵活 (可以快速传输任何类型的数据对象)无连接(限制每次链接只处理一次 一旦响应请求立即 断开连接) 无状态(无记忆能力) 

http请求 浏览器将http请求协议与数据一起发送到服务器

主要包括 ; 1 请求行  GET(请求方式)/index,php(uri) HTTP/1.1(协议版本) 

                  2 请求头   各种协议信息 

                                   host    主机名

                                  accepe 告知服务器能够接收数据的处理方式

                                  accepr_language  告知服务器能够接受的语言

                                user_Agent   浏览器内核信息 

                                 cookie 浏览器存储的该网站的数据

                   3空行  分割请求头与请求体 

                   4   请求体 post方式传递的数据  get方式数据放在url中不放在http体中

所谓协议 就是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。

HTTP响应 服务器给浏览器返回数据时所采用的规则  

主要包括  1 响应行 协议版本 状态码 状态提示 例如  HTTP/1:1 200  ok

                2 响应头 具体的协议项  

                                 content_type 内容类型

                                  date 服务器时间

                                   server 服务器信息 

                                   set_cookie 与请求的cookie相对应 服务器想保留在浏览器上的cookie信息 具体怎么操作 看浏览器

              3 空行 分割响应头与响应体

              4 响应体  服务器返回给浏览器的信息 


php通过header控制响应头中的内容 比如立即重定项  按时重定向 对返回数据进行控制 (解析图片中) 实现文件的下载等功能                     

<?php 
//php通过header 设置响应规则
//立即重定向
header(location :http:www.baidu.com);
echo ('hello mworld');
//后面的echo 语句不会执行 会立即跳到www.baidu.com
//按时重定向
header('Refresh:3 ,url = www.baidu.com/s?wd = hello world');
//会立即跳到百度页面 并检索 hello world 通常用于网页的提示跳转
// http协议默认的文件类型是text/html 所以直接输出 文件内容 会乱码 echo file_get_content(a.png)
header ('Content-type:image/png');//控制输出类型  更改默认模式
echo  file_get_contents('a.png');//此时浏览器就会解析出图片 而不是乱码 
// 实现文件的下载 content_dispostion = 设置让浏览器如何处理内容 
header ( 'Content-type:application/otect_stream');//告诉浏览器当前内容为数据流 不要解析 
header("content-dispostion:attachment;filename='大美女.png'");//让浏览器下载这个图片
echo file_get_contents('a.png');
?>

              

 

 

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值