关于http协议

TinyOS网络协议---分发路由协议 分发路由协议的主要目的是:通过一段时间使得网络中的所有节点的消息变量的一致。 分发协议要求在有链路连接的情况下保证某个消息变量值的一致性。 分发协议使用的接口: DisseminationValue (t代表数据类型)。该接口的目的是为了使节点接受分发来的数据。通过get()命令获取分发数据。通过set(const t*)命令来改变当前变量的值,并帮助节点给变量配上初值。changed()触发 阅读详情

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

1、HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

2、主要特点

    1)简单快捷:客户端请求时只需传送方法(get、post、head)和路径,每种方法规定了客户与服务器联系的类型不同;由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

    2)灵活:允许传输任何类型的数据对象;

    3)无连接:限制每次连接只处理一个请求;服务器处理完之后,客户端进行响应之后,断开连接;采用这种方式节省时间;

    4)无状态:协议对事务处理没有记忆;如果后续想处理前面的信息,必须重传;

    5)支持B/S及C/S模式

3、http请求消息Request

    http请求有4个部分组成 请求行(requestline)、请求头部(header)、空行和请求数据。

Get请求例子,使用Charles抓取的request:
GET /562f25980001b1b106000338.jpg HTTP/1.1
Host    img.mukewang.com
User-Agent    Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
Accept    image/webp,image/*,*/*;q=0.8
Referer    http://www.imooc.com/
Accept-Encoding    gzip, deflate, sdch
Accept-Language    zh-CN,zh;q=0.8
第一部分:请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本.

GET说明请求类型为GET,[/562f25980001b1b106000338.jpg]为要访问的资源,该行的最后一部分说明使用的是HTTP1.1版本。

第二部分:请求头部,紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息

从第二行起为请求头部,HOST将指出请求的目的地.User-Agent,服务器端和客户端脚本都能访问它,它是浏览器类型检测逻辑的重要基础.该信息由你的浏览器来定义,并且在每个请求中自动发送等等

第三部分:空行,请求头部后面的空行是必须的

即使第四部分的请求数据为空,也必须有空行。

第四部分:请求数据也叫主体,可以添加任意的其他数据

POST请求例子,使用Charles抓取的request:
POST / HTTP1.1
Host:www.wrox.com
User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Content-Type:application/x-www-form-urlencoded
Content-Length:40
Connection: Keep-Alive

name=Professional%20Ajax&publisher=Wiley
第一部分:请求行,第一行明了是post请求,以及http1.1版本。
第二部分:请求头部,第二行至第六行。
第三部分:空行,第七行的空行。

第四部分:请求数据,第八行。

4、http响应信息reponse

HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。

例子:

HTTP/1.1 200 OK
Date: Fri, 22 May 2009 06:07:21 GMT
Content-Type: text/html; charset=UTF-8

<html>
      <head></head>
      <body>
            <!--body goes here-->
      </body>
</html>
第一部分:状态行,由HTTP协议版本号, 状态码, 状态消息 三部分组成。

第一行为状态行,(HTTP/1.1)表明HTTP版本为1.1版本,状态码为200,状态消息为(ok)

第二部分:消息报头,用来说明客户端要使用的一些附加信息

第二行和第三行为消息报头,
Date:生成响应的日期和时间;Content-Type:指定了MIME类型的HTML(text/html),编码类型是UTF-8

第三部分:空行,消息报头后面的空行是必须的
第四部分:响应正文,服务器返回给客户端的文本信息。

空行后面的html部分为响应正文。

5、响应头信息

Allow服务器支持哪些请求方法(post、get)
Content-Eocnding文档的编码方法只有在解码之后才能得到Content-Type头指定的内容类型
Content-Length表示内容长度
Content-Type表示后面的文档属于什么MIME类型
Date    当前的GMT时间
Expires应该在什么时候认为文档已经过期,从而不再缓存它?
Last-Modified文档的最后改动时间。
Location 表示客户应当到哪里去提取文档。通常不是直接设置的,而是通过HttpServletResponse的sendRedirect方法,该方法同时设置状态代码为302。
Refresh表示浏览器应该在多少时间之后刷新文档,以秒计。除了刷新当前文档之外,你还可以通过setHeader("Refresh", "5; URL=http://host/path")让浏览器读取指定的页面。 
Server服务器名字。Servlet一般不设置这个值,而是由Web服务器自己设置。
Set-Cookie设置和页面关联的Cookie。Servlet不应使用response.setHeader("Set-Cookie", ...),而是应使用HttpServletResponse提供的专用方法addCookie。
WWW-Authenticate客户应该在Authorization头中提供什么类型的授权信息?在包含401(Unauthorized)状态行的应答中这个头是必需的。

6、http状态码

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

常见的状态码:

200 - 请求成功;

303 - 资源(网页等)被永久转移到其它URL

404 -  请求的资源(网页等)不存在

500 - 内部服务器错误

http状态码
1**信息,服务器收到请求,需要请求者继续执行操作
2**成功,操作被成功接收并处理
3**重定向,需要进一步的操作以完成请求
4**客户端错误,请求包含语法错误或无法完成请求
5**服务器错误,服务器在处理请求的过程中发生了错误
File协议和Http协议 统一资源定位符URL: 统一资源定位符是用来表示从互联网上得到的资源位置和访问这些资源的方法。互联网上的所有资源,都有一个唯一确定的URL。 URL相当于一个文件名在网络范围的扩展。因为访问不同对象所使用的协议不同,所以URL还要指出读取某个对象时所使用的协议。 URL的一般格式: <协议>://<主机>:<端口>/<路径> 协议:最常用的协议是http/https,其次是ftp 主机:指该主机在互联网上的域名,一个URL中也可以使用IP作为域名 端口 阅读详情

相关推荐

HMC5883L磁力计在STM32F4上的I2C驱动与数据校准实战

本文详细介绍了HMC5883L磁力计在STM32F4平台上的I2C驱动开发与数据校准实战。通过解析寄存器配置、数据读取处理和椭圆拟合校准算法,帮助开发者实现精准的地磁测量,特别适用于无人机导航和机器人系统中的航向确定与陀螺仪漂移修正。

2y3u4i5o6p的博客 1038

Tiny Protocol 使用教程

Tiny Protocol 使用教程 项目介绍 Tiny Protocol 是一个适用于资源有限系统的第2层协议。它旨在用于低资源系统,也可以编译为桌面Linux系统和Windows系统。使用此库,您可以轻松实现两个微控制器之间或微控制器与PC之间的数据传输,支持UART、SPI、I2C或其他通信通道。 项目快速启动 安装步骤 下载源码 git clone https://github.com...

gitblog_00868的博客 502

从ESP/ABS选型看轮速传感器:为什么你的车用了AK+PWM+7/14mA三种协议?

本文深入解析了汽车轮速传感器的三种主流协议(7/14mA电流型、PWM型和AK协议型)及其混合应用场景。通过对比不同协议的技术特点、成本效益和工程挑战,揭示了现代车辆采用多种传感器协议背后的设计逻辑,包括成本控制、性能平衡和冗余设计等关键因素。

weixin_29266679的博客 534

tiny模式基本原理整合

http_first=”[method] [uri] [version]\r\nHost: \r\r\n Connection: keep-alive\r\n\r\t二舅\r\rX-Online-Host: [host]\r\n\t”;http_first=”[method] [uri] [version]\r\nHost: \r\r\n Connection: keep-alive\r\n\r\t二舅\r\rX-Online-Host: [host]\r\n\t”;对于这样肯定也是不免的,为什么?

qq_41975868的博客 3989

ZYNQ 系统的IEEE1588 实现方法

zynq IEEE588/PTP 实现方案(讨论稿)

姚家湾博客 1万+

LCL滤波器参数设计实战:从理论约束到工程选型指南

本文提供了LCL滤波器参数设计的实战指南,从理论约束到工程选型逐步拆解。核心在于平衡总电感量、电感比与电容值,确保谐振频率落在安全区间,以满足并网电流谐波标准并维持系统稳定。文章以10kW并网逆变器为例,给出了具体的参数计算流程与选型步骤,并强调了寄生参数、阻尼设计等工程实现细节。

c6d7e8f9g的博客 923

几种开源TCPIP协议概述--LwIP,uIP,TinyTcp和uC/IP

1、BSD TCP/IP协议栈     BSD栈历史上是商业栈的起点,大多数专业TCP/IP栈(VxWorks内嵌的TCP/IP栈)是BSD栈派生的。这是因为BSD栈在BSD许可协议下提供了这些专业栈的雏形,BSD许用证允许BSD栈以修改或未修改的形式结合这些专业栈的代码而无须向创建者付版税。同时,BSD也是许多TCP/IP协议中的创新(如广域网中饿拥塞控制和避免)的点。   2

萧瑟一笑的专栏 1万+

STM32_USB复合设备开发实战:基于CubeMX插件简化HID与CDC集成

本文详细介绍了如何使用STM32CubeMX插件简化USB复合设备开发,特别是HID与CDC的集成。通过自动处理多设备描述符融合和端点资源分配,该插件显著降低了开发复杂度,帮助工程师快速实现键盘、鼠标和虚拟串口等复合功能,提升STM32 USB开发效率。

palm99的专栏 752

物联网操作系统TencentOS Tiny之协议栈

2019年9月18日,腾讯开源轻量级物联网实时操作系统TencentOS tiny。它支持的CPU架构包括ARM Cortex M0/3/4/7,Cortex A7,RISC-V、MSP430、AVR、STM8等。TencentOS tiny支持主流物联网协议栈(如 CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等)。

LinkEverything的博客 1667

FICO F.27 Customer statement 打印

需求,定制化打印,替换标准的F.27打印 类似于采购订单的打印,但是略有不同,查阅资料之后步骤如下: T-code F.27 is SAP standard program to produce customer/vendor correspondence (letter). Correspondence Type is used to specify the related printing program and form for the particular correspondence. SAP

IamRunjiang的博客 1967

二、频率调制光谱(FMS)技术——error信号的数学模型及其他推论

一些推论。

qq_41111336的博客 1606

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万+

L2tp环境搭建笔记- Openwrt平台

本文使用3台openwrt设备, 分别搭建L2TP服务和2个客户端, 进行端到端验证和局域网组网,并分析搭建过程中涉及的默认路由( defaultroute) 配置问题。

十年通信老兵的技术修炼之路——从3G到5G,从地面基站到卫星通信。 3394

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

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

weixin_42217106的博客 2409

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

HTTP协议&SOCKET协议

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

Super_King_的博客 930

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【HTTP】HTTP协议 && HTTPS 协议

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

qq_48479056的博客 5256

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

HTTP协议

HTTP:全称超文本传输协议(超文本:即传输的内容不仅仅是文本(html,css等),还有一些图片,音频,视频等).HTTP诞生于1991年,目前是一种主流且应用非常广泛的应用层协议.那什么是应用层协议呢?我们知道,数据能从客户端进程经过路径选择跨网络传输到达服务器端进程(IP/Port),比如数据从A端传到B端,TCP/IP协议的作用是体现在数据传输过程中的,但是仅仅传输完成就好了吗?显然不是,AB两端还要对数据进行加工处理或者使用.因此,我们还需要一层协议,不关心通信细节,只关心应用细节。

m0_63039919的博客 3694

http协议、TCP协议

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

jz661277的博客 1731

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

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

m0_51928077的博客 3940

HTTP协议-什么是HTTP协议

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

bestlove12345的博客 905

HTTP协议详解

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

blues_C的博客 2522

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
上一篇: 实用的表单验证
下一篇: css布局解决方案
tiny_wei
博客等级 码龄9年 4粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值