Http的相关知识点

本文详细介绍了HTTP协议中的条件请求机制,如何利用GET、POST、PUT方法实现不同的功能,以及HTTP重定向的类型和状态码,如301、302的含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HTTP 条件请求

在 HTTP 协议中,条件请求指的是请求的执行结果会因特定首部的值不同而不同。这些首部规定了请求的前置条件,请求结果则视条件匹配与否而有所不同。

请求引发的不同的反应取决于请求所使用的方法,以及组成前置条件首部集合:

  • 对于安全(safe)方法来说,例如 GET,通常用来获取文件,条件请求可以被用来限定仅在满足条件的情况下返回文件。这样可以节省带宽。
  • 对于非安全(unsafe)方法来说,例如 PUT 方法,通常用来上传文件,条件请求可以被用来限定仅在满足文件的初始版本与服务器上的版本相同的条件下才会将其上传。

HTTP 的重定向

URL 重定向(也称为 URL 转发)是一种为页面、表单或者整个 Web 站点/应用提供多个 URL 地址的技术。HTTP 对此操作有一种特殊类型的响应,称为 HTTP 重定向(HTTP redirect)。

在 HTTP 协议中,重定向操作由服务器向请求发送特殊的重定向响应而触发。重定向响应包含以 3 开头的状态码,以及 Location 标头,其保存着重定向的 URL。

不同类型的重定向映射可以划分为三个类别:

  1. 永久重定向icon-default.png?t=N7T8https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Redirections#%E6%B0%B8%E4%B9%85%E9%87%8D%E5%AE%9A%E5%90%91
  2. 临时重定向icon-default.png?t=N7T8https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Redirections#%E4%B8%B4%E6%97%B6%E9%87%8D%E5%AE%9A%E5%90%91
  3. 特殊重定向icon-default.png?t=N7T8https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Redirections#%E7%89%B9%E6%AE%8A%E9%87%8D%E5%AE%9A%E5%90%91

HTTP的请求方法

GET

HTTP GET 方法请求指定资源的表示。使用 GET 的请求应该只用于请求数据,而不应该包含数据。

GET /index.html

POST

HTTP POST 方法发送数据给服务器。请求主体的类型由 Content-Type 标头指定。

一个 POST 请求通常是通过 HTML 表单发送的,并导致服务器的相应修改。在这种情况下,内容类型(content type)是通过在 <form> 元素中设置正确的 enctype 属性,或是在 <input> 和 <button> 元素中设置 formenctype 属性来选择的:

  • application/x-www-form-urlencoded:数据被编码成以 '&' 分隔的键值对,同时以 '=' 分隔键和值。键和值中非字母或数字的字符会被 URL 编码,这也是这种类型不支持二进制数据的原因(应使用 multipart/form-data 代替)。
  • multipart/form-data:每个值是在一块数据(“主体部分”)中发送的,由用户代理指定的分隔符(“boundary”)将每个部分分离开。键值在每个部分的 Content-Disposition 标头中给出。
  • text/plain
POST /test

PUT

HTTP PUT 请求方法创建一个新的资源或用请求的有效载荷替换目标资源的表示。

PUT 与 POST 方法的区别是,PUT 方法是幂等的:调用一次与连续调用多次效果是相同的(即没有作用),而连续调用多次相同的 POST 方法可能会有副作用,比如多次提交同一订单。

PUT /new.html HTTP/1.1

HTTP状态码

当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含 HTTP 状态码的信息头(server header)用以响应浏览器的请求。

HTTP 状态码的英文为 HTTP Status Code。。

下面是常见的 HTTP 状态码:

  • 200 - 请求成功
  • 301 - 资源(网页等)被永久转移到其它URL
  • 404 - 请求的资源(网页等)不存在
  • 500 - 内部服务器错误

题例

CTFHub 技能树 Web Web前置技能 HTTP协议 -请求方式,302跳转,响应包源代码,Cookie等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值