HTTP简述

简述一次网络请求过程

  1. 域名解析

    通过URL查找服务器IP

    如访问百度,www.baidu.com,

    • www是服务器名
    • baidu可以理解为公司名或私人名
    • com是域名根服务器

    浏览器先访问本地文件Host文件,检查文件中是否有与域名匹配的IP地址,如果有直接访问IP对应的服务器;否则,向上层的DNS服务器询问;如果还没有,则继续向上层的DNS服务器询问,知道DNS根服务器。

  2. TCP三次握手

    建立一个TCP连接所需的过程

    请求连接、确认信息、握手结束

  3. 发送HTTP请求

    HTTP请求由三部分组成:请求行、请求头和数据体。

    • 请求行包含请求方法(如GET、POST),请求URI和HTTP版本。
    • 请求头包含User-Agent、Accept、Cookie等键值对信息。
    • 数据体则是请求的具体内容,通常是表单数据或文件。
  4. 服务器响应请求

    服务器解析完用户请求后,会返回一个HTTP响应。响应由状态行(如HTTP/1.1 200 OK)、响应头和响应正文组成。

    状态行指示请求的处理结果,响应头包含服务器信息、资源实体信息和可能的重定向信息,响应正文则是要发送给客户端的数据。

  5. 浏览器解析HTML

    浏览器解析服务器返回的HTML代码,并请求里面的CSS、JS、图片等资源。

  6. 页面渲染后呈现给用户

    从上到下,下载和渲染是同时进行的。

URI和URL

URI(Uniform Resource Identifier,统一资源标志符)标记一个网络资源,给资源命名。

URL用地址标记一个网络资源,给资源定位。

URI:

  • 访问资源的命名机制
  • 存放资源的主机名
  • 资源本身的名词,用路径表示,着重强调资源。

URI的格式由协议名、访问权限部分(如用户名和密码)、主机地址、端口号、路径、查询字符串和片段标识符组成。例如,一个典型的URI格式可能是

[协议名]://[用户名]:[密码]@[服务器地址]:[服务器端口号]/[路径]?[查询字符串]#[片段ID]

URL:

  • 协议(服务方式)
  • 存有该资源的主机IP地址(有时包含端口号)
  • 主机资源的具体地址(绝对路径)

URL的格式通常为协议://用户名:密码@域名:端口号/路径?查询字符串#片段

网络请求方法

网络请求方法,通常指的是HTTP协议中定义的几种请求方式,它们决定了客户端和服务器之间如何进行通信。主要的请求方法包括GET、POST、PUT、DELETE、PATCH、OPTIONS、TRACE等。每种方法有其特定的用途和行为特征,下面将逐一进行详细介绍。

GET请求

GET请求用于从服务器上请求指定的资源。它是最常见的一种请求方法,通过URL来指定要访问的资源。例如,当我们访问一个网页时,就是在发送一个GET请求。GET请求的特点是简洁明了,它不会引起服务器的任何状态变化,因此它被认为是幂等的。

POST请求

POST请求用于向服务器提交数据,并请求服务器在目标位置执行某种操作。POST请求通常用于表单提交或文件上传,数据会被包含在请求体中。POST请求可能导致服务器的资源发生变化,因此它不是幂等的。

PUT请求

PUT请求用于更新或创建服务器上的资源。如果指定的资源存在,那么它将被更新;如果不存在,将会创建一个新的资源。PUT请求要求请求体中包含要更新的数据,且数据格式必须与请求的媒体类型相匹配。

DELETE请求

DELETE请求用于删除服务器上的资源。当删除操作完成后,指定的资源将不再存在。DELETE请求的特点是它能够彻底移除资源,因此在执行前需要确认是否需要进行此项操作。

PATCH请求

PATCH请求用于部分更新资源。它允许你更新资源的一部分字段,而不是整个资源。PATCH请求通常用于那些需要局部更新的场景,比如更新用户的某些属性信息。

OPTIONS请求

OPTIONS请求用于询问服务器关于特定资源所支持的方法和选项。通过OPTIONS请求,客户端可以了解服务器对特定资源能够执行的请求类型,比如是否支持GET、POST等。

TRACE请求

TRACE请求用于追踪请求的传递路径。服务器在收到TRACE请求后会将请求的内容原样返回给客户端,这样客户端就能看到请求在传递过程中经过的各个节点。

CONNECT请求

CONNECT请求用于建立一个连接,通常用于代理服务器。它允许客户端指定代理服务器来连接至最终的服务器。

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

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

相关文章

【重学Python】Day5 长篇:字符串和常用数据结构

字符串和常用数据结构 一、转义字符二、切片三、字符串的处理四、格式化输出五、列表list1、列表的基本运算2、列表的添加、删除元素3、列表的切片4、列表的排序 六、生成式和生成器七、元组八、集合九、字典 在Python程序中,如果我们把单个或多个字符用单引号或者双…

GaussDB轻量化运维管理工具介绍

前言 本期课程将从管理平台的架构出发,结合平台的实例管理、实例升级、容灾管理和监控告警的功能和操作介绍,全面覆盖日常运维操作,带您理解并熟练运用GaussDB运维平台完成运维工作。 一、GaussDB 运维管理平台简介 开放生态层 友好Web界面…

OWASP发布十大开源软件安全风险及应对指南

​ 最近爆发的XZ后门事件,尽管未酿成Log4j那样的灾难性后果,但它再次敲响了警钟:软件供应链严重依赖开源软件,导致现代数字生态系统极其脆弱。面对层出不穷的安全漏洞,我们需要关注开源软件 (OSS)风险 ,改进…

通过代理IP实现匿名网上冲浪

目录 前言 一、代理IP的原理 1.1 什么是代理IP? 1.2 代理IP的工作原理 二、使用代理IP实现匿名网上冲浪的代码示例 三、如何获取代理IP 四、使用代理IP的注意事项 五、总结 前言 在互联网上冲浪是我们生活中常见的一项活动,然而,在某…

XiaodiSec day017 Learn Note 小迪安全学习笔记

XiaodiSec day017 Learn Note 小迪安全学习笔记 记录得比较凌乱,不尽详细 day 17 主要内容: php 框架 thinkPHPyiilaravel 使用 fofa 搜索 thinkphp 市面上 thinkphp5 版本较多 url 结构 域名/.php(文件名)/index(目录)/index(函数名)模块名-控…

XL7015输出12V电源设计

描述 XL7015是一款高效、高压降压型DC-DC转换器,固定150KHz开关频率,可提供最高0.8A输出电流能力,低纹波,出色的线性调整率与负载调整率。XL7015内置固定频率振荡器与频率补偿电路,简化了电路设计。PWM控 制 环 路 可 …

Android 组件提供的状态保存(saveInstanceState)与恢复(restoreInstanceState)

在Android的组件Activity中,有这样一对方法: onSaveInstanceeState 和 onRestoreInstanceState 这两对方法,可以让我在Activiy被异常销毁时,保存状态;以及在Activity重建时,恢复状态。 比如:当我们在输入…

只有IP没有域名怎么实现HTTPS访问

只有IP地址没有域名可以实现HTTPS访问?虽然通常情况下SSL证书是与域名关联并颁发的,但确实存在针对IP地址发放的SSL证书。这种类型的证书允许服务器通过HTTPS协议为其公网IP地址提供安全的Web服务。这意味着用户可以直接在浏览器中输入服务器的IP地址&am…

免翻!全球最大免费书库Zlibrary最新镜像,国内可直接访问,赶紧下书

刚刚,“知识大航海”群里,有位群友分享了一个Zlibrary镜像地址,感谢这位群友的热心分享,这个地址国内可以直接访问! 在“王不留”GZ号,写“zlib”四个字母,有Zlibrary镜像网址、官方网址&#x…

搜维尔科技:如何选择最佳的xsens动作捕捉设备

xsens介绍 如何选择最佳的xsens动作捕捉设备 选择最佳的 Xsens 动作捕捉设置并不总是像我们希望的那样简单。根据每个人的情况,会有不同的选择、要求和挑战。 这就是我们创建此博客的原因:帮助您做出最适合您的决定。 您已经决定继续使用 Xsens 了吗…

神经网络进阶

⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要3分钟 🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号&#xf…

19 使用MapReduce编程统计超市1月商品被购买的次数

首先将1月份的订单数据上传到HDFS上&#xff0c;订单数据格式 ID Goods两个数据字段构成 将订单数据保存在order.txt中&#xff0c;&#xff08;上传前记得启动集群&#xff09;。 打开Idea创建项目 修改pom.xml&#xff0c;添加依赖 <dependencies><dependency>…

微软发布Phi-3 Mini,性能媲美GPT-3.5、Llama-3,可在手机端运行

前言 微软发布了最新版的Phi系列小型语言模型(SLM) - Phi-3。这个系列包括3个不同参数规模的版本&#xff1a;Phi-3 Mini (38亿参数)、Phi-3 Small (70亿参数)和Phi-3 Medium (140亿参数)。 Phi系列模型是微软研究团队开发的小规模参数语言模型。从第一代Phi-1到第二代Phi-2&…

想把MP3音频转换成OGG格式需要什么工具?四种你不知道的音频转换工具在这里

​一&#xff0c;引言 随着数字音乐的发展&#xff0c;音频格式的种类也日益增多。MP3和OGG是其中两种常见的音频格式&#xff0c;它们各有优缺点&#xff0c;适用于不同的场景。有时&#xff0c;我们可能需要将MP3格式的音频转换为OGG格式&#xff0c;以满足特定的需求。本文…

JavaEE初阶——多线程(六)——线程池

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 小比特 大梦想 此篇文章与大家分享多线程的第六篇文章,关于线程池 如果有不足的或者错误的请您指出! 目录 3.线程池3.1标准库的线程池3.2 标准库自己提供的几个工厂类3.3自己实现一个线程池完成大体框架接下来完…

LangChain的核心模块和实战

主要模型 LLM:对话模型, 输入和输出都是文本Chat Model: 输入输出都是数据结构 模型IO设计 Format: 将提示词模版格式化Predict: langchain就是通过predict的方式调用不同的模型, 两个模型的区别不大, Chat Model 是以LLM为基础的.Parese: langchain还可以对结果进行干预, 得…

解决Oracle锁表的方法

在实际工作中&#xff0c;并发量比较大的项目&#xff0c;经常会出现锁表的问题&#xff0c;下面我将复现这个问题&#xff0c;并给出解决方法。 一、问题复现 1、session1修改aabb表的B字段为迪迦奥特曼&#xff0c;但是不提交该事务。 2、session2也修改这行的这个字段。 发…

Prompt-to-Prompt Image Editing with Cross Attention Control

Prompt-to-Prompt Image Editing with Cross Attention Control TL; DR&#xff1a;prompt2prompt 提出通过替换 UNet 中的交叉注意力图&#xff0c;在图像编辑过程中根据新的 prompt 语义生图的同时&#xff0c;保持图像整体布局结构不变。从而实现了基于纯文本&#xff08;不…

终于有人把“Linux云计算路线”整理出来了,收藏起来,随时查看

一&#xff0c;计算机硬件 二&#xff0c;计算机网络 三&#xff0c;Linux系统管理 四&#xff0c;构建Linux服务系统&#xff0c;数据库&#xff0c;程序及Web服务 五&#xff0c;消息队列&#xff0c;web集群&#xff0c;系统及软件优化&#xff0c;智能化监控&#xff0c;海…

【大语言模型LLM】-基础语言模型和指令微调的语言模型

&#x1f525;博客主页&#xff1a;西瓜WiFi &#x1f3a5;系列专栏&#xff1a;《大语言模型》 很多非常有趣的模型&#xff0c;值得收藏&#xff0c;满足大家的收集癖&#xff01; 如果觉得有用&#xff0c;请三连&#x1f44d;⭐❤️&#xff0c;谢谢&#xff01; 长期不…