HTTP协议

File协议和Http协议 统一资源定位符URL: 统一资源定位符是用来表示从互联网上得到的资源位置和访问这些资源的方法。互联网上的所有资源,都有一个唯一确定的URL。 URL相当于一个文件名在网络范围的扩展。因为访问不同对象所使用的协议不同,所以URL还要指出读取某个对象时所使用的协议。 URL的一般格式: <协议>://<主机>:<端口>/<路径> 协议:最常用的协议是http/https,其次是ftp 主机:指该主机在互联网上的域名,一个URL中也可以使用IP作为域名 端口 阅读详情

1、HTTP简介

WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循HTTP协议。HTTP是TCP/IP协议的一个应用层协议,用于定义WEB服务器之间交换数据的过程及数据本身的格式。常见的HTTP协议版本有HTTP/1.0和HTTP/1.1。

2、HTTP1.0的基本运行方式

  • 基于HTTP协议的客户/服务器模式的信息交换过程,如下图所示,它一共有四个过程:建立连接、发送请求信息、发送响应信息和关闭连接。
    这里写图片描述
  • 浏览器和WEB服务器的连接过程是短暂的,每次连接只处理一个请求和响应。对每一个页面的访问,浏览器与WEB服务器都要建立一次单独的连接。
  • 浏览器到WEB服务器之间的所有通讯都是完全独立分开的请求和响应。
  • 无状态

3、浏览器访问多图网页

  • 在一个HTML页面中如果包含<img>标记的话,当浏览器解析到这些标记的时候,还会向服务器请求访问标记中指定的文件,即再次建立连接并发出HTTP请求。
  • 如果HTML页面中有一个超级链接:<a href=”http://www.itcast.cn”>itcast</a>,当点击这个链接时,也会触发浏览器与WEB服务器开始一次新的HTTP通信。

4、HTTP1.1详解

  • HTTP1.1的特点:
    • 在一个TCP连接上可以传送多个HTTP请求和响应
    • 多个请求和响应过程可以重叠
    • 增加了更多的请求头和响应头,比如Host 、if-Unmodified-Since请求头等
      这里写图片描述

4.1、HTTP请求消息

客户端连上服务器后,向服务器请求某个web资源,称为客户端向服务器发送了一个HTTP请求。一个完整的HTTP请求包含:一个请求行、若干消息头、以及请求正文,其中的一些消息头和正文都是可选的,消息头和正文内容之间要用空行隔开。
Example:

GET /books/java.html HTTP/1.1            // 请求行,请求行用于描述客户端的请求方式,请求的资源名称,以及使用的HTTP协议版本号
Accept: */*
Accept-Language: en-us
Connection: Keep-Alive
Host: localhost
Referer: http://localhost/links.asp
User-Agent: Mozilla/4.0
Accept-Encoding: gzip, deflate           // 2~8行为多个消息头,用于描述客户端请求那台主机,以及客户端的一些环境信息等
                                         // 一个空行

4.2、HTTP响应消息

  • 一个HTTP响应代表服务器向客户端回送的数据
  • 一个完整的HTTP响应包括如下内容:一个状态行、若干消息头、以及响应正文,其中的一些消息头和正文是可选的,消息头和正文内容之间要用空格隔开
  • 在一个HTTP响应中,WEB服务器通过响应头向web客户端描述客户端的请求成功与否,以及它所发送的数据类型等一些信息,客户端通过这些信息,进而可以知道如何对数据进行处理

Example:

HTTP/1.1 200 OK                     // 状态行,用于描述服务器对请求的处理结果
Server: Microsoft-IIS/5.0
Date: Thu, 13 Jul 2000 05:46:53 GMT
Content-Length: 2291
Content-Type: text/html
Cache-control: private              // 2~6行为多个消息头,用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述可以通知客户端如何处理等一会它回送的数据
                                    // 一个空行
<HTML>
<BODY>
……                                  // 实体内容

4.3、HTTP消息头(请求和响应的共性)

  • 使用消息头,可以实现HTTP客户机和服务器之间的条件请求和应答,消息头相当于服务器和浏览器之间的一些暗号指令
  • 每个消息头包含一个头字段名称,然后一次是冒号、空格、值、回车和换行符
    • example : Accept-Encoding: gzip, deflate
  • 消息头字段名是不区分大小写的,但习惯上讲每个单词的第一个字母大写
  • 整个消息头部分中的各行消息头可以按任意顺序排列
  • 消息头又可以分为通用信息头、请求头、响应头、实体头等四类
  • 许多请求头字段都允许客户端在值部分指定多个可接受的选项,过个选项之间用逗号分隔
  • 有些头字段可以出现多次,比如,响应消息中可以包含有多个“Warning”头字段

4.4、HTTP请求行

  • 请求行
    • 格式: 请求方式 资源路径 HTTP版本号,example : GET /temp3o116.shtml HTTP/1.1
    • 请求方式:GET、POST、HEAD、OPTIONS、DELETE、TRACE、PUT
    • 用户如果没有设置,默认情况下浏览器向服务器发送的都是GET请求,例如在浏览器中直接输入地址访问,点击超链接访问等都是GET,用户如果想把请求方式改为POST,可以通过更改表单的提交方式实现
    • 不管POST或GET,都用于向服务器请求某个WEB资源,这两种方式的区别主要表现在数据传递上
  • GET方式
    • 如果请求的方式为GET方式,则可以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分割,example : GET /mail/1.html?name=abc&password=xyz HTTP/1.1

      -GET方式的特点:在URL地址后附带的参数是有限的,其数据容量通常不能超过1K
  • POST方式
    • 如果请求的方式为POST方式,则可以在请求的正文内容中向服务器发送数据,POST方式的特点是发送的数据量无限制

4.5、HTTP响应的细节 — 状态行

  • 状态行
    • 格式: HTTP版本号 状态码 原因叙述
    • example : HTTP/1.1 200 OK
  • 状态码用于表示服务器对请求的各种不同处理的结果和状态,它是一个三位的十进制数。响应码分为5类,使用最高位为1到5来进行分类如下所示:
    这里写图片描述

  • 常用状态码

    • 200(正常) : 表示一切正常,返回的是正常的请求结果
    • 302/307(临时重定向):指出被请求的文档已被临时移动到别处,此文档的新的URL在Location响应头中给出
    • 304(未修改):表示客户机缓存的版本是最新的,客户机可以继续使用它,无需到服务器请求
    • 404(找不到):服务器上不存在客户机所请求的资源
    • 500(服务器内部错误):服务器端的程序发生错误

4.6、HTTP请求的细节

4.6.1、请求头1

  • 请求头字段用于客户端在请求消息中向服务器传递附加信息,主要包括客户端可以接受的数据类型(MIME类型)、压缩方法、语言以及发出请求的超链接所属页面的URL地址等信息。
  • 常见的请求头:

    • Accept:浏览器可接受的MIME类型
    • Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集
    • Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip
    • Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。 可以在浏览器中进行设置。
    • Host:初始URL中的主机和端口
    • Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页
    • Content-Type:内容类型

    4.6.2、请求头2

  • If-Modified-Since: Wed, 02 Feb 2011 12:04:56 GMT利用这个头与服务器的文件进行比对,如果一致,则从缓存中直接读取文件。

  • User-Agent:浏览器类型.
  • Content-Length:表示请求消息正文的长度
  • Connection:表示是否需要持久连接。如果服务器看到这里的值为“Keep -Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接
  • Cookie:这是最重要的请求头信息之一
  • Date:Date: Mon, 22 Aug 2011 01:55:39 GMT请求时间GMT

4.7、HTTP响应的细节

4.7.1、常用响应头1

  • 响应头字段用于向客户端传递附加信息
  • 常用响应头
    • Location: http://www.it315.org/index.jsp指示新的资源的位置
    • Server:apache tomcat指示服务器的类型
    • Content-Encoding: gzip服务器发送的数据采用的编码类型
    • Content-Length: 80 告诉浏览器正文的长度
    • Content-Language: zh-cn服务发送的文本的语言
    • Content-Type: text/html; charset=GB2312服务器发送的内容的MIME类型
    • Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT文件的最后修改时间
    • Refresh: 1;url=http://www.it315.org指示客户端刷新频率。单位是秒

4.7.2、常用响应头2

  • Content-Disposition: attachment; filename=aaa.zip指示客户端下载文件
  • Set-Cookie:SS=Q0=5Lb_nQ; path=/search服务器端发送的Cookie
  • Expires: -1
  • Cache-Control: no-cache (1.1)
  • Pragma: no-cache (1.0)
  • Connection: close/Keep-Alive
  • Date: Tue, 11 Jul 2000 18:23:51 GMT
Python气象数据处理实战:用PyCINRAD轻松绘制雷达PPI图像(附避坑指南) 本文详细介绍了如何使用Python库PyCINRAD处理中国CINRAD系列天气雷达的基数据,并绘制专业的PPI图像。内容涵盖从环境配置、数据读取、核心绘图到高级定制与批量处理的完整流程,并针对安装依赖、中文乱码、数据范围等常见问题提供了实用的避坑指南,帮助气象工作者高效完成雷达数据可视化。 阅读详情

相关推荐

一文读懂AI大模型时代的RAG技术

RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合检索技术与生成模型的技术架构,旨在通过动态引入外部知识库增强大语言模型(LLM)的生成能力。其核心思想是通过检索系统从外部数据源(如企业知识库、实时文档等)获取相关信息,并将检索结果作为上下文输入生成模型,以提高生成答案的准确性、时效性和专业性

awei0916的专栏 2119

http协议及基于http协议的文件下载

目录 1. HTTP 协议概述 2. URL 与资源 3. HTTP报文 4. 使用Postman 获取数据 5. 基于HTTP协议的文件下载 5.1 文件整体下载 5.2 文件分段(Range)下载 5.2.1 获取文件的大小 5.2.2 下载分段文件 5.3 文件分块(chunk)下载 1. HTTP 协议概述 日常我们使用网络用得最多的无疑是在Web 浏览器(下文统...

Xanthium 2万+

NET 实战:30 天搞定企业级 Web 订餐系统(附完整源码 + 数据库设计)

订餐流程:浏览菜品 → 选择菜品及数量 → 填写送餐地址 → 提交订单 → 数据库记录核心代码(绑定菜品列表):vb' 绑定菜单表到DataGrid控件,展示菜品信息user id=sa;' 查询菜品名称、价格、口味Dim adpt1 As New SqlDataAdapter("select cdishid,vdishname 菜品名称,cdishrate 价格,vdishdescription 口味 from dish", conn)End Sub用户体验优化。

m0_67740236的博客 1517

http协议是什么?http协议的由来和发展

http协议解析–第一篇 http协议的由来 http协议是什么? 在说http的历史之前,我们先来说清楚http协议是什么? [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 随便百度一下,就会出来上万条的检索结果,其中都会提到“Http就是超文本传输协议”(英文:HyperText Transfer Protocol,缩写:HTTP),没错!这就是http的定义,ht...

weixin_42217106的博客 2409

Dify沙盒容器部署实战:解决config.yaml缺失与系统调用权限问题

本文详细解析了Dify沙盒容器部署中的两大常见问题:config.yaml缺失与系统调用权限限制。通过实战步骤指导如何正确配置卷挂载解决`no such file or directory`错误,并深入讲解如何调整`allowed_syscalls`白名单应对`error: operation not permitted`权限问题,帮助开发者高效完成Dify容器化部署。

gg901的博客 922

IDEA 2023.2最新破解安装教程(含详细配置步骤及常见问题解决)

本文详细介绍了IDEA 2023.2的安装流程及高效开发环境搭建指南,涵盖基础配置、项目结构优化、核心功能使用、插件推荐、性能优化等全方位内容,帮助开发者快速掌握这一强大的Java开发工具。

x2y3z4a5b的博客 1754

HTTP协议&SOCKET协议

一、 HTTP协议是什么? 我们在浏览器的地址栏里输入的网站地址叫做 URL(UniformResourceLocator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地 址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器 上站点的网页代码提取出来,并翻译成漂亮...

Super_King_的博客 930

SAP-ABAP:SAP信贷管理核心:CL_UKM_BUPA_FACTORY类完整解析与实践指南

SAP信贷管理核心类CL_UKM_BUPA_FACTORY解析 CL_UKM_BUPA_FACTORY是SAP信贷管理(UKM)模块的核心类,作为业务伙伴信贷数据的中央控制台,它提供: 统一入口:标准化实例化客户/供应商信贷对象 主要功能: 获取单条/批量业务伙伴数据 安全保存数据变更 封装底层数据访问逻辑 典型应用场景: 信贷主数据批量维护 自动化限额调整 订单信贷实时检查 性能优化建议: 使用批量方法替代循环单条处理 合理设置字段选择 实施缓存策略 该类通过简洁API简化复杂信贷操作,是SAP信贷管理开

baidu_35680696的博客 1209

【HTTP】HTTP协议 && HTTPS 协议

HTTP(超文本传输协议)是一种应用非常广泛的应用层协议。HTTPs 是在 HTTP基础之上做了一个加密解密的工作。平时我们打开一个网站,就是通过HTTP协议来传输数据的。(所谓 "超文本" 的含义, 就是传输的内容不仅仅是文本(比如 html, css 这个就是文本), 还可以是一些其他的资源, 比如图片, 视频, 音频等二进制的数据)一个完整应用是由前端+后端构成的,而前后端之间的通讯是要依靠HTTP来完成的。

qq_48479056的博客 5255

杰理AC695N芯片跑iic接口的oled驱动分享

本文介绍了一个基于IIC接口的0.96寸OLED显示屏驱动程序,适用于SSD1306控制器。驱动采用软件模拟IIC方式,支持字符、数字、字符串、汉字和图片显示,测试平台为杰理AC695N系列芯片。硬件参数包括128×64分辨率,IIC接口(地址0x78),使用IO_PORTA_02(SDA)和IO_PORTA_03(SCL)引脚。驱动包含OLED主文件(oled.c/h)、软件IIC实现(soft_iic.c/h)和字体/图片数据文件(oledfont.h/bmp.h),可通过修改soft_iic.h中的引

qq_42014563的博客 882

Onnxruntime之YOLOP部署过程记录

魔改YoloP部署过程记录

如果想成为中心,那么就到中心去吧。 1928

http协议、TCP协议

1).http是用于从万维网服务器传输超文本到本地浏览器的传送协议(HyperText Transfer Protocol)。超文本传输协议是面向事务的、一种应用层协议,其规定了在浏览器和服务器之间的请求和响应的格式和规则,它是万维网上能够可靠交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。2).HTTP是一个 客户端和 服务器端请求和应答的标准。客户端是终端用户,服务器端是网站。

jz661277的博客 1730

RabbitMQ高级特性 - 生产者消息确认机制

为了保证信息 从生产者 发送到 队列,因此引入了生产者的消息确认机制.通过事务机制实现.通过发送确认机制(confirm 和 return)实现.因为事务机制比较消耗性能,在实际工作中用的也不多,因此这里主要介绍confirm 和 return机制来实现发送放的确认.a)confirm 确认模式如上图,confirm 确认模式主要保障于 生产者 到 交换机 的消息可靠性.如果 Exchange成功收到消息,那么 ConfirmCallback 这个回调 ack 参数就为true。

CYK_byte的博客 1886

HTTP协议-什么是HTTP协议

HTTP协议-什么是HTTP协议   HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。   我们在浏览器的地址栏里输入的网站地址叫做URL(UniformResourceLocator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个In

bestlove12345的博客 905

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

HTTP协议:一.什么是 HTTP 协议?

前言:本篇文章主要参考自《图解HTTP》,在学习期间也查询过其他资料。仅作为个人的学习记录。​ HTTP 协议和 TCP/IP 协议族内的其他众多协议相同,用户客户端和服务器之间的通信.​ 访问文本或者图像资源的一段称为客户端,而提供资源响应的一端称为服务器端超文本也就是 HTML,当我们发送 HTTP 请求的时候,响应就会返回相应的页面.HTTP 是一种不保存状态的协议,即**无状态协议.**HTTP 协议自身不对请求和响应之间的通信状态进行保存.图:HTTP 协议自身不具备保存之前发送过的请求或响应的功

m0_51928077的博客 3940

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

HTTP协议详解

HTTP,即超文本传输协议(Hypertext Transfer Protocol),是一种应用层协议,用于从网络传输超文本到用户的浏览器。它定义了客户端和服务器之间请求和响应的格式。HTTP不仅是构建现代网络应用的基础,也是我们进行功能测试、性能测试和安全测试的关键点。通过掌握HTTP协议的工作原理和报文结构,我们可以更有效地设计测试案例,识别潜在的问题,并对网络交互进行精确的测试。

blues_C的博客 2522

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

HTTP协议的诞生

HTTP协议的诞生 1、什么是HTTP协议 ​ HTTP(HyperText Transfer Protocol,超文本传输协议)是一种主要由web使用的协议规范,完成从客户端到服务器端的一系列运作流程。 注:超文本传输协议这种译法并不严谨,严谨的译名应该为“超文本转移协议”。详细情况可参考http://www.ituring.com.cn/article/1817 ​ “transport”...

不知道灬都不知道 1240

HTTP 协议

(1)GET 也可以给服务器传递一些信息,只不过 GET 传递的信息一般都是放在query string;而POST 传递信息则是通过 body(2)GET 请求一般是用于从服务器获取数据,POST 一般是用于从服务器提交数据(语义上的差别)(3)GET 通常会被设计成幂等的,而 POST 不要求幂等(4)GET 可以被缓存;而POST 一般不能被缓存。

weixin_73616913的博客 3250

HTTP协议深入

灵活可扩展、首部、内容、状态码都可自定义可靠的传输协议、基于TCP协议是一个应用层协议,与ftp、smtp相比应用更广泛采用请求应答通讯模式,客户端和服务端(C/S)无状态的协议实体数据可分段、可压缩、支持多语言、灵活编码。

伏颜的博客 1026

HTTP协议——与HTTP相关的协议

        在TCP/IP协议族中与HTTP密不可分的有3个协议,分别是IP、TCP和DNS。下面简单介绍下这3种协议。1、IP协议        IP(Internet Protocol)网际协议位于网络层,几乎所有使用网络的系统都会用到 IP 协议。TCP/IP 协议族中的 IP 指的就是网际协议,"IP"和"IP地址"是不同的,"IP"其实是一种协议的名称。        IP 协议的作...

vikeyyyy的博客 3232

http协议_HTTP协议

http协议HTTP (Hyper Text Transfer Protocol) is one of the application protocols of TCP/IP, the suite of protocols that powers the Internet. HTTP( 超文本传输​​协议 )是TCP / IP的应用协议之一,TCP / IP是为Internet提供支持的协议套...

cuk0051的博客 606

HTTP协议总结

HTTP是什么 超文本传输协议(hypertext transfer protocol,HTTP),它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。浏览器连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。(比如咱们用的QQ,迅雷,都是是这个协议) 1.那么HTTP如何工作...

weixin_44667072的博客 2541

HTTP协议的版本介绍

HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点。 本文介绍 HTTP 协议的历史演变和设计思路。 一、HTTP/0.9 HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。 最早版本是1991年发布的0.9版。该版本极其简单,只有一个命令GET。 GE...

月夜寻花香的博客 1107

HTTP协议之HTTP的结构

一.前言:会使用电脑的人基本上都会使用IE/Firefox/Chrome等网页浏览器的地址栏输入url地址来访问一个网站,那么网站页面是怎么展现到用户面前的呢?当然web页面是不能凭空显示出来的,浏览器根据用户输入的url地址向指定的web服务器请求资源,然后将请求的资源解析显示到web页面。那么web浏览器又是怎样通过url请求到web页面的?web服务器又是怎么响应浏览器的请求的?web浏览器是

凉薄时光葬空城 7585
上一篇: iPhone真机测试Crash信息分析
下一篇: 一、多线程基础
CoderLiLe
博客等级 码龄11年 2粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值