你需要了解的 http 协议基础知识

本文详细介绍了HTTP协议的基础知识,包括WWW技术组成、URI与URL的区别、HTTP方法(GET, HEAD, PUT, POST, TRACE, OPTIONS, DELETE, CONNECT, PATCH)、HTTP Keep-Alive、状态码、URL重定向以及首部字段。重点讲解了各种HTTP方法的用途,HTTP状态码的含义,以及重定向的三种方法及其优先级。" 105126042,4832771,PHP Guzzle使用技巧:大文件上传,"['PHP', 'HTTP客户端', '文件上传', 'Guzzle库']
摘要由CSDN通过智能技术生成

本文对 http 协议中一些基础知识的概括和总结:

WWW由三项技术组成

  • HTML(超文本标记语言)
  • HTTP(文档传输协议)
  • URL(统一资源定位符)

URI与URL

  • URI(Uniform Resource Identifier):统一资源标志符

  • URL(Uniform Resource Loator):统一资源定位符

  • URI是用来标记某一互联网资源的,而URL表示网络资源的位置,也是一种URI,所以URL是URI的子集

  • URI的格式:
    在这里插入图片描述

  • 片段标志符:URL中任一带#的后面部分称为片段标志符,也称URL hash

- 片段标志符表示资源内的某一个位置,HTML文档里,浏览器会寻找该标志符对应的<a>标签
- 片段标志符只会被浏览器识别,不会发送给服务端
- 修改片段标志符不会重新加载页面,但会增加一条浏览器的历史记录
- javascript可以通过window.location.hash修改片段标志符

  • Data URI:以data开始的协议头,常被用于作为小文件插入到其他文档之中,由四部分组成:
data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7

- 第一部分是 data: 协议头
- 第二部分是 MIME 类型,表示这串内容的展现方式
- 第三部分是编码设置,默认编码是 charset=US-ASCII
- 最后一部分为这个 Data URI 承载的内容,它可以是纯文本编写的内容,也可以是经过base64编码的内容
  • Javascript URI:以javascript开始的伪协议

当浏览器装载了这样的URL时,它将执行这个URL中包含的javascript代码,并把最后一条javascript语句的字符串值作为新文档的内容显示出来

装载了这种URL时,浏览器仅执行其中的javascript代码,但由于没有作为新文档来显示的值,因此它并不改变当前显示的文档。

javascript:var now = new Date(); "<h1>The time is:</h1>" + now;
javascript:alert("hello world!")
  • CGI(Common Gateway Interface):公公网关接口
CGI(Common Gateway Interface) 是WWW技术中最重要的技术之一,有着不可替代的重要地位。CGI是外部应用程序(CGI程序)与WEB服务器之间的接口标准,
是在CGI程序和Web服务器之间传递信息的过程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体
文档变成一个完整的新的交互式媒体

HTTP协议

Method详解
方法 说明 支持协议
GET 获取资源 1.0 , 1.1
POST 传输实体文本 1.0,1.1
PUT 传输文件 1.0 , 1.1
HEAD 获取报文首部 1.0,1.1
DELETE 删除资源 1.0 , 1.1
OPTIONS 询问支持的方法 1.1
TRACE 追寻路径 1.1
CONNECT 以隧道协议连接代理 1.1
LINK 建立与资源之间的连接 1.0
UNLINK 断开连接 1.0
  • GET方法:

GET 是最常用的方法。通常用于请求服务器发送某个资源

  • HEAD方法:

HEAD方法与GET方法的行为很类似,但服务器在响应中只返回首部,不会返回实体的主体部分

- 在不获取资源的情况下了解资源的情况(比如,判断其类型);
- 通过查看响应中的状态码,看看某个对象是否存在;
- 通过查看首部,测试资源是否被修改了
  • PUT方法:

用于更新资源的方法,使用PUT方法一般要遵循幂等性,所谓幂等性是指在多次调用同一方法时,资源的状态不变,不会受到其它接口的影响。所以使用PUT方法,每次更新要将资源的全部数据进行更新,全量覆盖。一般用于向服务器上的资源(例如文件)中存储数据

  • POST方法:

用于更新资源的方法,使用POST不需要遵循幂等性,POST一般用于向服务器发送数据

  • TRACE方法:

客户端发起一个请求时,这个请求可能要穿过防火墙、代理、网关或其他一些应用程序。每个中间节点都可能会修改原始的 HTTP 请求。TRACE 方法允许客户端在最终将请求发送给服务器时,看看它变成了什么样子。

- TRACE 方法主要用于诊断,可以用来查看代理和其他应用程序对用户请求所产生效果
- TRACE 请求中不能带有实体的主体部分
- TRACE 响应的实体主体部分包含了响应服务器收到的请求的精确副本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值