HTTP方法、状态码和请求过程

一、HTTP方法概念:

HTTP客户端发出请求,告知服务端需要执行不同类型的请求命令,这些命令被称为HTTP方法。

简说:HTTP方法是告诉服务器要做什么。

1、GET方法:获取资源

作用:

①通常用于请求服务器发送某个资源,也是最常用一种的方法。

2、POST方法:传输实体数据

作用:

①POST方法是用来向服务器输入数据的,主要支持HTML表单。

②表单填写好后会被发送给服务器,比如登录窗口输入用户名和密码,供服务器验证身份。

区别:

①POST用于向服务器发送数据,PUT用于向服务器上的资源(比如文件)中存储数据。

3、PUT方法:传输文件

作用:

①PUT方法是向服务器写入文档,让服务器请求的主体部分来创建一个由所请求的URL命名的新文

档,若已存在该文件,就用这个主体替代它。

②因为涉及内容修改,大部分执行PUT方法前,被要求登录。

4、HEAD方法:获取头部报文       

作用:

①类同于GET方法,但只需要服务器返回首部,不返回实体的主体部分。可实现未获取实际资源的

情况下,对资源的首部进行检查。

a、可用于判断资源类型

b、通过状态码判断资源是否存在

c、测试资源是否被修改

5、DELETE方法:删除指定资源

作用:

①请求服务器删除请求中的URL所指定的资源,但不一定成功

②不成功的原因,HTTP规范允许服务器在不通知客户端的情况下撤销请示

6、OPTIONS方法:询问支持方法

作用:

①询问服务器支持的各种功能

②可以询问服务器支持哪些方法

③可以询问某些特殊资源支持哪些方法

7、TRACE方法:跟踪路径

作用:

①跟踪请求经过了哪些中间环节(防火墙、代理等)

②每个中间节点可以修改原始的http请示,即增加代表自己的信息(via:1.1proxy.sangfor.com.cn)。

③最后的响应服务器将最终的请示头,作为响应主体,返回给客户端

二、HTTP响应状态码概念:

①客户端向服务器发出请求,状态码用于描述返回的请求结果

②状态码由3位数字和原因短语组成,首位数字表示响应类别,原因短语代表说明和含义,比如

200 ok,404 Not Found

③不同的状态码,代表不同的状态。借助状态码,用户可以知道服务端是正常处理了请求,还是出

现了错误,出现了哪类可能的错误。

④常用的共计14种

1、2xx成功(200,204,206)

作用:

①2XX的响应结果表明请求被正常处理了。

②常见的有200、204、206

实例1:200 OK

①表示从客户端发来的请求在服务器端被正常处理了

②浏览器会接着处理、显示返回的数据。

实例2:204 Not content

①表明请示已经执行成功,但不需要做任何响应。204响应码会中断浏览器的页面跳转,浏览器会

保持原URL不变,页面内容也维持原状。

②响应报文中没有实体的主体部分,主要用于在浏览器不转为显示新文档的情况下对其进行更新

(比如刷新一个表单页面)。

实例3:206 Partial Content

①表明客户端进行了范围请求,而服务器成功执行了这部分的Get请求

②响应报文中包含由Content-Range指定范围的实体内容,然后由浏览器进行内容整合。

2、3xx重定向(301、2、3,304,307)

作用:

①3XX代表重定向状态码,表明浏览器需要执行某些特殊的处理以正确处理请求

②常见的有301、302、303、304、307

实例1:301 Moved Permanently

①永久性重定向,该状态码表示请求的资源已被分配了新的URI,以后应使用资源现在所指的

URI。

②新地址会在响应头的Location字段中指定

实例2:302 Found

①临时性重定向,表示请求的资源已被分配了新的URI,希望用户本次能使用新的URI访问。

②与301相似,但302表示的不是永久移动,只是临时性质的,已移动资源对应的URI将来还有可能

发生改变。

注意:

①301、302、303的响应,浏览器都会把POST方法替换为GET方法,去除请求里的POST数

据体部分,并自动重新再发送一次请求。

②307会遵照浏览器标准,不会从POST变成GET,临时重定向。该状态码与302Found有着相同的

含义。

3、4xx客户端错误(400、01、03、04)

作用:

①4XX响应结果代表客户端发生错误。

②常见的有400、401、403、404

实例1:400 Bad Request(不合规范的请求)

①400表示请求报文中存在语法错误,当错误发生时,需修改请求的内容后再次发送请求。

实例2:401 Unauthorized

①401表示发送的请求需要有通过HTTP认证的认证信息。

②若之前已进行过1次请求,则表示用户认证失败。

③一般是在访问特定资源,用户提供基于HTTP协议级别的授权认证信息,浏览器在用户输入登录

信息后,并授权失败时,才会返回该响应消息体。

④含有401的响应必须包含一个适用于被请求资源的WWW-Authenticate首部用以质询用户信息。

实例3:403 Forbidden

①403表明对请求资源的访问被服务器拒绝了

②服务器端没有必要给出拒绝的详细理由,若想说明,可以在实体的主体部分对原因进行描述。

③出现403的原因:未获得文件系统的访问授权,访问权限出现某些问题等(所请求的URL存在但不

能被访问,可能是文件系统权限不足,规则配置不允许处理本次请求,或授权不足)。

实例4:404 Not Found

①404表明服务器上无法找到请求的资源,或服务端拒绝请求,但又不想说明理由时使用。

②通常响应消息体会显示给用户

4、5xx服务器错误(500,503)

作用:

①5XX的响应结果表明服务器本身发生错误。

②常见的有:500、503

实例1:500 internal server error

①500表明服务器端在执行请求时发生了错误。也有可能是web应用存在的bug或某些临时的故

障。

实例2:503 Service Unavailable

①503表时服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。

②可通过Retry-After首部字段填上解除以上状况的时间,返回给客户端。

三、http请求过程详解

①浏览器:用户输入目标url

URL通常包括协议(如http或https)、域名(或IP地址),有时还可能包括端口号和路径。

②DNS域名解析

浏览器首先检查自身缓存中是否已有该URL的IP地址。如果没有,它会查询操作系统的缓存,接着

是路由器的缓存,最后是ISP的DNS服务器。如果这些缓存中都没有,DNS请求可能被发送到更高

级别的DNS服务器,直到找到相应的IP地址。

whireshark抓包:

nslookup解析:

③建立TCP连接

浏览器使用目标服务器的IP地址尝试建立TCP连接,这通常涉及到一个称为三次握手的过程。

whireshark抓包:

④发送http request

连接建立后,浏览器构建HTTP请求(包括请求行、请求头部及可能的请求体)并通过TCP连接发

送给服务器。

⑤web服务器响应(回复)

Web服务器接收到请求后,根据请求类型(GET、POST等)处理请求,可能涉及静态内容的返回

或者生成动态内容。服务器将响应(状态码、响应头、响应体)发送回浏览器。

⑥应用服务器响应(回复)

如果请求需要后端逻辑处理,如数据库查询或其他资源交互,Web服务器会与应用服务器通信。应

用服务器执行必要的操作后,将结果返回给Web服务器,再由Web服务器整合这些数据形成HTTP

响应。

⑦关闭tcp连接

根据HTTP的版本和头信息(如Connection: keep-aliveConnection: close),TCP连接可能会

在响应后立即关闭,或保持开启以供后续请求重用。

⑧用户浏览器渲染页面

浏览器接收到数据后开始解析HTML,构建DOM树,解析CSS,执行JavaScript等,最终渲染出页

面。

一、HTTP方法概念:

1、GET方法:获取资源

2、POST方法:传输实体数据

3、PUT方法:传输文件

4、HEAD方法:获取头部报文       

5、DELETE方法:删除指定资源

6、OPTIONS方法:询问支持方法

7、TRACE方法:跟踪路径

二、HTTP响应状态码概念:

1、2xx成功(200,204,206)

2、3xx重定向(301、2、3,304,307)

3、4xx客户端错误(400、01、03、04)

4、5xx服务器错误(500,503)

三、http请求过程详解


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/842298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tensors张量操作

定义Tensor 下面是一个常见的tensor,包含了里面的数值,属性,以及存储位置 tensor([[0.3565,0.1826,0.6719],[0.6695,0.5364,0.7057]],dtypetorch.float32,devicecuda:0)Tensor的属…

Bootstrap5

Bootstrap 5 是 Bootstrap 框架的最新版本,这是一个广受欢迎且功能强大的开源前端开发框架,专为快速构建响应式和移动优先的网站而设计。Bootstrap 由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 创建,它以 HTML、CSS 和 JavaScript 为基…

【uniapp】uniapp基本介绍

目录 介绍体验uni-app优势功能框架图 uni-app组成和跨端原理基本语言和开发规范 编译器运行时(runtime)uni-app runtime包括3部分:基础框架、组件、API基础框架:组件:组件的扩展: API: 逻辑层和…

vue2的方法与监听

vue2的方法 不可以使用箭头函数 <template> <div><div>{{sum2()}}</div><button click"add">add</button> </div></template><script> export default {data(){return{name:"张三",num:20,num2:3…

基于形态学滤波的心电信号ECG处理(MATLAB 2021B)

数学形态学简称形态学&#xff0c;在数学意义上&#xff0c;其基于集合理论、积分几何和网格代数&#xff0c;是一门严格建立在数学基础之上的学科&#xff0c;着重用来研究图像的几何结构和形状&#xff0c;因而称之为形态学。其基本思想是用结构元素对待分析图像进行“探测”…

机器人回调接口完善

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。 免责声明&#xff1a;该工具仅供学习使用&#xff0c;禁止使用该工具从事违法活动&#xff0c;否则永久拉黑封禁账号&#xff01;&#xff01;&#xff01;本人不对任何工具的使用负责&am…

计算机类主题会议推荐之——ACAIB 2024

【北方民族大学40 周年校庆学术活动】 第四届自动化控制、算法与智能仿生学术会议(ACAIB 2024) 2024年6月7-9日 中国银川 往届均已见刊检索 EI、SCOPUS双检索 基本信息 会议官网&#xff1a;www.acaib.org 最终截稿时间&#xff1a;2024年6月3日晚23&#xff1a;…

Mac 电脑给android手机传输文件提示 No android device found

在开发过程中&#xff0c;我们有时候会有在电脑和手机之间传输文件的需求。 Mac电脑给android手机传输文件并不是很方便。 Google 官方提供了一个软件叫Android File Transfer&#xff0c;这个软件免费且好用。 Android File Transfer下载地址 但是使用过程中会遇到一些问题…

白银现货价格对这两种形态形成突破 应当予以关注

在白银现货价格分析和交易中&#xff0c;突破这个行为一直是一个重要的、具有可分析性的市场动作。本文要讨论的&#xff0c;是基于价格形态之上的突破行为&#xff0c;下面我们就来看看。 中继形态的突破。白银现货价格波动中有中继形态有反转形态&#xff0c;中继形态的意思是…

Java代码——@Mock注入失效,注入对象始终为null

现象&#xff1a; 最近在使用Mock对象做单元测试&#xff0c;但是发现mock的对象始终为null. 代码如下&#xff1a; package com.****.cache;import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.junit.Mock…

探索减轻 AI 说服伤害的机制方法

随着生成式人工智能&#xff08;AI&#xff09;系统在各个领域的广泛应用&#xff0c;其说服能力也日益增强&#xff0c;引发了对 AI 说服可能带来伤害的担忧。AI 说服的伤害不仅来源于说服的结果&#xff0c;还包括说服过程中可能对个体或社会造成的不利影响。为了系统性地研究…

学习Uni-app开发小程序Day27

这一章学习了几个功能点&#xff0c;例如&#xff1a;try{}catch处理同步请求下载记录异常处理、onShareAppMessage分享好友和分享微信朋友圈、对分享页面传参进行特殊处理、共用分类列表页面实现我的下载和评分页面、使用mp-html富文本插件渲染公告详情页面 try{}catch处理同…

AI+低代码,打通企业大模型应用最后一公里!

一、AI的趋势与发展 一夜之间&#xff0c;微软的AI全宇宙似乎已成型。 5月22日凌晨&#xff0c;在一年一度的2024微软Build大会上&#xff0c;微软CEO萨蒂亚纳德拉一口气宣布了50多项AI能力更新&#xff0c;涵盖GPT-4o上云、自研Cobalt芯片、团队版Copilot、SOTA小模型等。 此…

Diffusion相关原理

Diffusion相关原理 1、数学&#xff1a;重参数化 &#xff08;用于高斯拟合求导&#xff09;变分推断原理 &#xff08;用于损失&#xff09; 2、生成模型系列1、AE自动编码器&#xff08;AutoEncoder&#xff09;2.VAE的模型架构模型原理数学原理AE和VAE对比 3、DDMP图像高斯加…

信息化项目必须进行验收测试吗?软件测试公司验收测试流程分享

信息化项目验收是指在软件开发完成之后&#xff0c;对其进行独立检查和确认&#xff0c;以确定它是否达到了预期的质量和功能需求。在进行验收之前&#xff0c;必须进行验收测试&#xff0c;这是非常重要的一步。 为什么要进行验收测试呢&#xff1f;好处可不少哦&#xff01;…

5.29高通技术分享抢先看 | 2024高通边缘智能创新应用大赛公开课

火力全开&#xff01;2024高通边缘智能创新应用大赛首期公开课将在5月29日晚上8点炫酷启动&#xff01; 届时&#xff0c;来自大赛主办方高通技术公司的产品市场总监李骏捷和高级资深工程师李万俊将于云端聚首&#xff0c;带来一场关于边缘智能的前沿技术对话。 各位参赛者及…

预防侵权知识丨什么是图形商标?怎么用产品图片进行图形商标查询检索?

图形商标查询检索是跨境电商预防侵权中重要的一环&#xff0c;但是有很多卖家对图形商标不太了解&#xff0c;也不知道怎么进行图形商标的查询检索。所以&#xff0c;我们一起来看下。 一、什么是图形商标 图形商标是商标的一种&#xff0c;指的是由几何图形或其它事物图案构…

30秒学会一个ChatGpt-4o小技巧 --- 照片漫画化

文章目录 选择照片修改图片 选择照片 先选择自己的一张照片 当然首先你得能够访问ChatGpt-4o, 图片生成能力只有ChatGpt-4才有 所以我们先登录到 国内能够使用的ChatGpt网站: 我要超级GPT 然后把图片上传&#xff0c;再写提示词&#xff1a;请帮我把这种照片按照日系动漫风…

IT 行业的现状剖析与未来展望:商业与技术的交织

今日&#xff0c;我无意间看到 CSDN 的创作话题&#xff1a;“我眼中的 IT 行业现状与未来趋势”&#xff0c;这引发了我对 IT 行业的深入思考。以下是我的一些个人见解&#xff0c;希望能得到大家的指正和交流&#xff0c;共同进步。 IT 行业的现状与未来趋势&#xff0c;这个…

821. 字符的最短距离 - 力扣

1. 题目 给你一个字符串 s 和一个字符 c &#xff0c;且 c 是 s 中出现过的字符。 返回一个整数数组 answer &#xff0c;其中 answer.length s.length 且 answer[i] 是 s 中从下标 i 到离它 最近 的字符 c 的 距离 。 两个下标 i 和 j 之间的 距离 为 abs(i - j) &#xff0c…