网络基础(二) --------------应用层:HTTP协议

网络基础:HTTP协议 HTTP(Hypertext Transfer Protocol,超文本传输协议)是互联网上广泛使用的应用层协议,用于在客户端(通常是浏览器)和服务器之间传输文档,包括 HTML、图像、视频以及其他资源。它是互联网的基石之一。 阅读详情

(一)认识Web

WWW(万维网,World Wide Web)是将互联网中的信息以超文本形式展现的系统。(超文本:用以显示文本及文本相关的内容)。也叫做Web用来显示WWW信息的客户端软件叫做Web浏览器(简称浏览器)。
www是一个由超链接组成的系统,web客户端即浏览器可以输入URL(统一资源标识符)来访问web服务器端的资源,然后通过TTTP(超文本传输协议)传输给客户端。

Internet = web+服务。只是现在很多服务都通过浏览器来作为载体,所以现在经常混为一体。
常用的服务包括:E-mail(电子邮件);FTP,File Transfer Protocol(文件传输协议);Newsgroups(新闻组(讨论组)通常使用NNTP协议);远程登录(Telnet);手机 (3GHZ)等。
现在的邮件和网盘都是直接通过浏览器访问的了。

万维网遵循超文本传送协议—————【HTTP协议】
HTTP协议是一个应用层的协议,它使用TCP连接进行可靠地传送。
万维网应用遵守的超文本标记语言—————-【HTML】
HTML使得万维网页面的设计者可以很方便的用链接从本页面链接到因特网上的任何一个万维网页面,并且能够显示在自己的主机屏幕上。
万维网访问信息的手段与位置————-【URL】
URI常被人们表示互联网中资源(文件)的具体位置。它可以作为所有资源的标识码。

(二)HTTP协议

2.1)HTTP协议的概念
虽然我们一般说应用层协议是由我们程序员自己决定的,但是实际上有些协议已经灰顶好了只需要我们去使用就可以了 。其中HTTP协议(超文本传输协议)就是其中的一个。
这个协议详细规定了浏览器和万维网之间互相通信的规则。HTTP协议就是一个通信的规则,通信规则规定了客户端发送给服务器的内容格式,也规定了服务器发送给客户端的内容格式。其实我们要学的就是这两种格式。客户端发送给服务器的格式叫做请求协议,服务器发送给客户端的叫做响应协议。
HTTP是一个无状态的协议。

2.2)HTTP在TCP/IPHTTP协议栈中的位置
通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图所示:
这里写图片描述

默认HTTP的端口号为80,HTTPS的端口号为443。

2.3)认识URL
我们平时所说的“网址”就是URL;
例如:
这里写图片描述

urlencode和urldecode
像/?:等这样的字符被url当做特殊意义进行了处理,比如某个参数中要是带有特殊意义的字符,就必须先对其进行转义。
转义的规则如下:
将需要转码的字符转为16进制,然后从右向左,取四位(不足4位直接处理),每2位做一位,前面加上%,编码成%XY格式。
例如:
这里写图片描述
在这里“+”被转义成了“%2B”,其实urldecode就是urlencode的逆过程。

下面这个网址可以将其进行转化。

http://tool.chinaz.com/Tools/urlencode.aspx

2.4)HTTP的请求响应模型

HTTP协议永远都是客户端发起请求,服务器回送响应。见下图:
这里写图片描述

这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。

HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。

2.4.1)HTTP请求
我们知道HTTP的请求一般由3~4部分组成的,分别为请求行、请求报头、空行,第四部分一般不讨论为传入的一些正文信息。
这里写图片描述

  • 首行:【方法】+【url】+【版本】
  • Header(请求报头):请求的属性,冒号分割的键值对,每组属性之间使用\n分隔;遇到空行表示Header部分结束。
  • Body:空行后面的内容都是Bady,允许为空字符串,如果Bady存在,则Header中会有一个Content_Length来标识Bady的长度。

2.4.2)HTTP响应
这里写图片描述
2.5)HTTP的方法

这里写图片描述
2.6)HTTP的状态码
这里写图片描述
其中比较常见的就是200(OK),404(Not Found),403(Forbidden),302(Redireact,重定向),504(Bad Gateway)

2.7)HTTP常见Header

  • Content-Type:数据类型(text/html等);
  • Content-Lenthgth:Body的长度,以字节为单位;
  • Host:客户端告知服务器,所请求的资源是在哪个主机的哪个端口上;
  • User-Agent:生命用户的操作系统和浏览器的版本信息;
  • referer:当前页面是从哪个页面跳转过来的;
  • location:搭配3xx状态吗使用,告诉客户端接下来要去哪里访问;
  • Cookie:用于在客户端存储少量的信息,通常用于实现会话(session)的功能;
    Cookie
    在Web应用中为了获取用户信息使用一个叫做Cookie的机制,Web服务用Cookie在客户端保存信息(多为用户名和登录名等信息),Cookie常被用来保存登录信息或网络购物中放入购物车的信息。
网络基础——应用层中的常用协议 应用层: 应用层位于OSI参考模型和TCP/IP参考模型的最高层,包括所有层的协议,为具体的应用提供服务。传输层的 UDP 报文和 TCP 报文段的数据部分就是应用层交付的数据 我们知道传输层为应用进程提供了端到端的通信服务。但不同的网络应用的应用进程之间,还需要有不同的通信规则。 每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同... 阅读详情

相关推荐

STM32与SD卡SPI接口硬件设计:从原理图到调试的完整指南

SPI(串行外设接口)作为一种广泛应用的同步串行通信协议,以其接线简单、驱动成熟的特点,成为连接微控制器与各类外设的经典方案。其工作原理基于主从架构,通过时钟、数据线和片选信号实现全双工通信,在嵌入式系统中具有极高的技术价值,常用于连接传感器、存储设备和显示模块等。在数据存储场景中,SD卡凭借其大容量和便携性成为首选,而通过SPI模式驱动SD卡,则平衡了性能与设计复杂度。本文聚焦于使用Altium Designer进行硬件设计的工程实践,详细解析了STM32微控制器与SD卡通过SPI通信时,电源管理、上拉电

weixin_34101784的博客 555

【计算机网络】应用层HTTP协议

HTTP协议全称为超文本传输协议,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议,是因特网上应用最为广泛的一种网络传输协议,所有的 WWW 文件都必须遵守这个标准。HTTP 是为 Web 浏览器与 Web 服务器之间的通信而设计的。HTTP 是一个基于 TCP/IP 通信协议来传递数据的(HTML 文件、图片文件、查询结果等),是一种应用层协议。

qq_61635026的博客 1755

【Gin框架入门到精通系列01】Gin框架介绍与环境搭建

本文是Gin框架入门到精通系列的第一篇,系统介绍Gin框架的基本概念、核心特性以及环境搭建。无论你是Go语言新手还是有经验的开发者,都能通过本文快速掌握Gin框架的基础知识,创建并运行你的第一个Gin应用。

GopherTribe的博客 1560

应用层HTTP协议

应用层HTTP协议

Xpccccc的博客 1117

管理信息系统(MIS)设计

一名读者可以借阅多本图书,而一本图书也可以被不同的读者借阅,所以读者与图书之间存在着多对多的借阅关系,读者与图书之间存在着多对多的联系,即m:n的联系。每一种图书属于一种图书类型,而一种图书类型可以包含很多本图书,因此可以得到图书类型与图书之间也存在着一种一对多的联系,即图书类型与图书是1:n的联系。系统应该实现以下功能:图书管理员可以维护图书信息,包括增加新书、修改图书信息、办理图书借阅登记、图书归还登记、过期图书处理、丢失图书处理及读者借阅证件信息的维护等;

m0_69718745的博客 2477

吉比特-笔试

1. 题一:打雷后下雨的概率是80%,而打闪电后下雨的概率是70%,那么即打雷又打闪电后下雨的概率是多少?   答:打雷后下雨和打闪电后下雨都是独立事件,P=1-又打雷又闪电但没下雨的概率= 1 - 0.2 *0.3 = 94%        题二:打雷后下雨的概率是80%,但是没打闪电后下雨的概率是20%,那么打雷了但没打闪电后下雨的概率是多少?答:P=0.8 *0.2 / ( 0.8 *0

naturism的专栏 2496

应用层协议——HTTP协议

HTTP(Hyper Text Transfer Protocol)协议又叫做超文本传输协议,是一个简单的请求-响应协议,HTTP通常运行在TCP之上。超文本的意思就是超越普通的文本,http允许传送文字,图片,视频,音频等,协议我们前面也说过,就是一种约定。HTTP协议在应用层,主要是解决如何处理对端发送过来的数据,关于对端数据如何发送过来,丢包了怎么办等问题,不是应用层要考虑的,在传输层,网络层,数据链路层会帮我们解决这些问题,他只关心如何处理对端数据。

weixin_74310945的博客 1270

手把手教你用TUSB2E22中继器实现eUSB2与USB 2.0互转(附实测数据对比)

本文详细介绍了如何利用TUSB2E22中继器实现eUSB2与USB 2.0的高效互转,包括技术背景、硬件设计要点、信号完整性测试方法及故障排查策略。通过实测数据对比,展示了TUSB2E22在信号延迟、功耗和眼图性能上的显著优势,为工程师提供了实用的工程方案。

weixin_29199873的博客 283

Linux--13.HTTP协议

我们在之前的章节中已经初步了解了协议,所谓协议就是指我们的一种“约定”,现在,让我们自顶而下的去探究我们各个层级的协议,我们先从应用层的HTTP协议开始 HTTP协议的概念 在我们了解HTTP之前,要先明确我们几个必要的概念 HTTP(HyperText Transfer Protocol,超文本传输)的协议 HTTP是无连接,无状态,服务于应用层的协议 这里的无连接我们可以理解为:HTTP协议本身没有维护连接信息,HTTP会交给网络协议栈传输层的TCP协议,而TCP协议则是面向连接的 无状态

平生的小铺子 408

secureCRT 破解方法

3、输入注册信息打开keygen.exe,点击path,选择SecureCRT的安装目录(例如D:\VanDykeSoftware\Clients)的securecrt.exe打开,继续下一步打开LicenseHelper.exe,如下。1、注册SecureCRT9.1打开keygen.exe,出现以下问题(没有关掉安全防护,一双击打开,Windows会自动识别keygen.exe为bingdu并删除)打开桌面SecureCRT,此界面不输入内容,直接点击下一步。2、存储配置文件夹(可以默认安装)

逆水行舟 1万+

零基础NPU固件开发学习路线--1.4 学习路线与工具链:编译器、仿真器、调试器、烧录工具

本文系统介绍了NPU固件开发的学习路径与工具链。学习路线分为四个阶段:基础认知、环境搭建、模块开发和联调量产。重点讲解了交叉编译器、代码管理工具、调试器和烧录工具等核心工具链的使用方法。文章强调工具链在NPU固件开发中的关键作用,详细阐述了从代码同步到固件烧录的全流程开发闭环,为开发者提供了一条从零基础到独立开发的完整学习路径。

MHD0815的博客 116

计算机网络:应用层(HTTP协议)

统一资源定位符(URL): 1.URL的格式 统一资源定位符URL是对可以从因特网得到的资源的位置和访问方法的一种简洁的表示。URL给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性。 URL相当于一个文件名在网络范围的扩展。因为URL是于因特网相连的机器上的任何可访问对象的一个指针。由以冒号隔开的两大...

SanfordZhu的博客 7202

【30】软考软件设计师——UML类图与用例图满分精讲|下午第3题常考核心

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第30篇,聚焦**模块四:应用技术(下午题)第3道高频大题**,UML建模是历年下午必考核心,单题分值稳定10~12分。全文深度拆解两大核心UML图表:**类图**与**用例图**,超详细讲解类图三层结构、可见性修饰符、五大核心关系(泛化/关联/依赖/聚合/组合)的判定标准与绘图规范;吃透用例图参与者、系统边界、三大关系(包含/扩展/泛化)的底层逻辑,搭配独家**关系秒杀口诀、标准绘图模板、真题改错技巧**;全文适配补图、判断关系、分析场景、纠错优化

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 573

【Linux 网络】网络基础(二)(应用层协议:HTTP、HTTPS)-- 详解

网络版计算器例如,我们需要实现一个服务器版的加法器。我们需要客户端把要计算的两个加数发过去,然后由服务器进行计算,最后再把结果返回给客户端。(1)约定方案A. 约定方案一客户端发送一个形如 "1+1" 的字符串。这个字符串中有两个操作数,都是整形。两个数字之间会有一个字符是运算符,运算符只能是 +。数字和运算符之间没有空格。... ...B. 约定方案二定义结构体来表示我们需要交互的信息。

Elena's Blog 1863

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【应用层】网络基础 -- HTTP协议

再谈协议、HTTP协议、认识URL、urlencode和urldecode、HTTP协议格式、HTTP的方法、HTTP的状态码、HTTP常见Header、HTTP周边会话保持

DEXTERFUTIAN的博客 2214

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【Linux网络】网络基础:HTTP协议

在当今这个数字化迅猛发展的时代,互联网已经成为连接全球信息与服务的桥梁。而在这浩瀚的网络海洋中,HTTP(超文本传输协议)作为互联网上应用最广泛的一种协议,扮演着举足轻重的角色。无论是我们日常浏览的网页、观看的在线视频、还是进行的电子商务交易,背后都离不开HTTP协议的默默支撑。

EterNity_TiMe_的计算机学习之路 2471

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【Linux】网络基础--应用层详解

本文将重点介绍TCP/IP四层结构模型中的应用层。应用层是我们在之前的学习中,接触的最多的一层结构,我们所写的应用程序都是运行在应用层的。我们之前简单的认识过了协议,并说过协议本质是一种“约定”。而在之前关于套接字编程中的接口介绍中,我们都是以字符串为形式来进行传输的,那么如果我们要传输的是结构化的数据呢?下面我们通过一个网络简易计算器的例子来具体介绍一下有关结构化数据传输的协议。如果我们将实现一个简易的加法器服务端,那么就需要客户端将两个操作数及运算符发送到服务端,经由服务器计算再返回给客户端。那么客户端

love_guanghui的博客 1397

网络基础:应用层的典型协议:http协议、https协议

文章目录应用层自定制协议实例:网络计算器☆HTTP协议 应用层 应用层负责应用程序之间的沟通,程序员可以自己对数据的格式进行约定,消息发送方和接收方都需要遵守这种约定。 应用层的典型协议:自定制协议;知名协议—HTTP协议 自定制协议 自定制协议:其实就是程序员自己定制的协议,程序员自己规定一种数据格式,按照这种数据格式进行网络通信,定制的同时要考虑数据的传输性能以及解析性能。 实例:网络计算器 客户端将两个数字以及运算符传输给服务端;服务端对数据进行运算后,将结果返回给客户端。 我们此处使用结构体来组织数

weixin_43962381的博客 1164

网络基础应用层--HTTP协议

而应用程序是程序员自己写的,应用程序之间如何沟通,用什么协议程序自己定义。自己定制的数据格式约定。传输性能+解析性能传输:按照指定格式组织好的二进制数据串要尽可能短小解析:将二进制数据串进行解析得到数据对象尽可能简单快速不成熟版本,只有GET进行超文本数据传输,协议格式不完善…....

baiduren__的博客 2514

网络基础(二)应用层HTTP协议

文章目录TCP协议的面向字节流特性以及引申出来的粘包问题HTTP协议介绍通用资源定位符URLweb服务器以两种不同的方式向客户端提供内容:简单的URL格式分析:Http协议的组成1.HTTP请求2.HTTP响应 应用层: 负责应用程序之间的数据传输,我们程序员就工作在这一层上 TCP协议的面向字节流特性以及引申出来的粘包问题 从套接字编程角度对于传输层TCP协议特点里的—面向字节流解读 从创建一个TCP的socket起, 同时在内核中创建一个发送缓冲区和一个接收缓冲区; 对于发送: 1.调用write时

e我所欲也的博客 1146

【Linux】网络基础(应用层,传输层)

假设最后一个。

Raizeroko的博客 1745

前端网络基础-应用层HTTP协议

2、HTTP请求不再只由浏览器发起,现在无论是浏览器还是服务器,或者是手机app都可以发起3、早期地HTTP请求只能由浏览器刷新网页发起,是同步的,现在有了Ajax,可以发起异步的HTTP请求。

2501_90424955的博客 2053

【网络基础】应用层协议

【网络基础】应用层协议

BebopPrimer的博客 550

LINUX网络基础 [五] - HTTP协议

应用层常见的协议有HTTP和HTTPS,传输层常见的协议有TCP,网络层常见的协议是IP,数据链路层对应就是MAC帧了。其中下三层是由操作系统或者驱动帮我们完成的,它们主要负责的是通信细节。如果应用层不考虑下三层,在应用层自己的心目当中,它就可以认为自己是在和对方的应用层在直接进行数据交互。

2402_83315537的博客 6280

【Linux网络(二)】——应用层之http协议

http协议下,客户端向服务端发送请求,http协议不会保存历史请求信息,每一次请求对于双方而言,都是第一次请求,没有这是第几次请求的概念!

2402_85267481的博客 919

HTTP协议【网络基础/应用层】

本文介绍了TCP/IP基础、URL/URI的作用、HTTP协议的基础部分:方法、状态码、Header以及重要的会话管理。通过C++代码实现了一个简单的HTTP服务器,并使用浏览器作为客户端实验,这算是我目前觉得最神奇的一次实验了。

Man9o 1702
上一篇: 520最悲情的表白是这样的
下一篇: 如何用一个3L的桶和一个5L的桶, 量出4L水来?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值