HTTP协议相关知识

news2024/11/16 3:21:41

1 HTTP协议的解读

1.1 HTTP和HTTPS区别

HTTP协议:超文本传输协议是互联网上应用最为广泛的一种网络协议。所有的HTML文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法

HTTPS协议:HTTP协议的安全版,在HTTP下加入SSL层

        ssl(Secure Sockets Layer 安全套接层)主要用于web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全

1.2 HTTP请求过程

client:更为具体代表浏览器、程序等,通过某个程序发送请求就是客户端 

url:统一资源定位符,是用于完整地描述Internet上网页和其他资源地址的一种标识方法

  1. 当用户在浏览器的地址栏中输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请求。HTTP请求主要分为”Get“和”Post“两种方法
  2. 当在浏览器输入URL http://www.baidu.com时,浏览器发送一个Request请求去获取http://www.baidu.com的html文件,服务器把Response文件对象发送回给浏览器
  3. 浏览器分析Response中的HTML,发送其中引用了很多其他文件,比如Images文件,CSS文件、Js文件,浏览器会自动再次发生Request去获取图片,CSS文件或JS文件
  4. 当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来

 

 1.3 HTTP请求信息

    在浏览器中输入URL地址,访问某个网站,发送一个HTTP请求到服务器的请求消息,包括以下格式:

请求行  请求头部  空行  请求数据

访问网址不是只有一次请求 ,如下图:不单单只请求了www.baidu.com

ip地址存在端口,https默认端口443

1.4 HTTP响应信息

服务器接收到请求后,返回的HTTP响应由四个部分组成,分别:

状态行 消息报头 空行 响应正文

状态行:表示返回数据状态是什么情况

HTTP/1.1 200 OK
Connection: keep-alive
Content-Encoding:gzip
Content-Type: text/html; charset=utf-8  (返回类型格式如果返回是json格式,则为:application/json)
Date: Thu, 25 Jul 2024 09:00:44 GMT
Isprivate:1
Server:BWS/1.1
Traceid:1721898044288966759412702887217014994671
Transfer-Encoding:chunked
X-Ua-Compatible:IE=Edge,chrome=1
X-Xss-Protection:1;mode=block

1.4 HTTP响应状态码

常见响应状态码

 #1xx:信息

100 continue
服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求

#2xx:成功

200 0K
请求成功(其后是对GET和POST请求的应答文档)
201 Created
请求被创建完成,同时新的资源被创建。

# 3xx:重定向

300 Multiple choices

多重选择。链接列表。用户可以选择某链接到达目的地。最多允许五个地址。

#4xx:客户端错误

404:页面找不到

#5xx:服务器错误

500 Internal Server Error
请求未完成。服务器遇到不可预知的情况。
502 Bad Gateway
请求未完成。服务器从上游服务器收到一个无效的响应。
503 Service unavailable
请求未完成。服务器临时过载或当机。
504 Gateway Timeout
网关超时。
505 HTTP Version Not supported
服务器不支持请求中指明的HTTP协议版本

 

1.5 HTTP请求方法

根据HTTP标准,HTTP请求可以使用多种请求方法。

序号方法描述
1GET用于获取资源(没有请求体),,如浏览器查询
2POST向指定资源提交数据进行处理请求-更新资源(如提交表单或上传文件)数据被包含在请求体中,POST请求可能会导致新的资源的建立或者已有资源的修改,如登录注册
3PATCH用于更新服务器的数据(局部更新)
4DELETE用于服务器删除指定的数据
5PUT用于更新服务器的数据(数据整体更新)

HTTP请求常用的 Get和 Post 两种方法
GET是从服务器上获取数据,POST是向服务器传送数据

GET和POST区别:

        GET请求参数显示,都显示在浏览器网址URL上,HTTP服务器根据该请求所包含URL中的响应内容,即“Get"请求的参数是URL的一部分。例如: http://www.baidu.com/s?wd=Chinese&tt=9999(带问号:query string查询字符串)

        POST请求参数在请求体当中,息长度没有限制而且以隐式的方式进行发送,通常用来向HTTP服务器提交量比较大的数据(比如请求中包含许多参数或者文件上传操作等),请求的参数类型包含在“Content-Type”消息头里,指明该消息体的媒体类型和编码(放到body请求体中,也可以放到query string)

        Get请求不安全,POST请求也是不安全post相对安全,因为其放到body当中肉眼看不到

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

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

相关文章

快9月了才开始强化,刷张宇1000还是李林880?

如果你现在才开始强化,并且在张宇1000和李林880中间纠结,可以花5分钟看看这篇文章! 张宇1000题,今年进行了改版,去掉了一些「偏难怪」的题目,这类题目,对于大家的友好度明显上升。但是难度和综合…

springboot admin监控

服务端搭建 maven的依赖&#xff0c;包括服务端和客户端&#xff0c;以及注册到nacos上面 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XML…

游戏服务器租用多少钱一年?

游戏服务器租用多少钱一年&#xff1f;游戏服务器租用的价格范围非常广泛&#xff0c;从几百元到数万元不等。对于入门级或小型游戏服务器&#xff0c;一年的租用费用可能在几百到几千元之间&#xff1b;而对于高级或大型游戏服务器&#xff0c;一年的费用可能会超过数万元。 …

宽压宽频(35V/45V/65V)50KHZ-3MHZ双向同步降压升压LED驱动器QFP32封装

概述&#xff1a; PC9248 是一款双向降压-升压控制器&#xff0c;适用于驱动高效功率转换器中的硅&#xff08; Si&#xff09; MOSFET 或氮化镓&#xff08;GaN&#xff09;功率晶体管。它支持高达 45V 的宽输入和输出范围&#xff0c;可在降压、降压-升压和升压模式之间无缝…

XSS-复现dom破坏案例和靶场

目录 xss注入原理&#xff1a; xss是什么&#xff1f; xss原理&#xff1a; DOM&#xff1a; 闯关&#xff1a; 第一关&#xff1a;Ma Spaghet! 源码&#xff1a; 要求&#xff1a; 分析&#xff1a; 第二关&#xff1a; Jefff 源码&#xff1a; 要求&#xff1a; …

QT读取数据库中文显示乱码

QT读取数据库中文显示乱码 使用ODBC连接数据库时&#xff0c;选择Character Set为gbk格式

springboot中interceptor拦截器匹配URL源码

上一篇文章我们找到了filter过滤器的匹配源码&#xff0c;这次我们来找一下interceptor的匹配源码 同样先打断点看一下调用链 接着翻调用链&#xff0c;看看从哪里开始出现拦截器的 看到在这里出现了拦截器&#xff0c;那么就在这个类里面往上找&#xff0c;打断点慢慢找&…

Springcloud从零开始---Service业务模块(三)

上篇&#xff1a;Springcloud从零开始---Zuul&#xff08;二&#xff09;-CSDN博客 Service模块是客户端模块&#xff0c;用户编写业务逻辑代码和功能实现。前端请求发送到Zuul网关再有网关发送到Service服务&#xff0c;可以是系统的安全性提升。 开始继上篇Springcloud从零…

《计算机操作系统》(第4版)第4章 存储器管理 复习笔记

第4章 存储器管理 一、存储器的层次结构 1. 多层结构的存储器系统 如图4-1所示&#xff0c;在存储层次中越往上&#xff0c;存储介质的访问速度越快&#xff0c;价格也越高&#xff0c;相对存储容量也越小。 图4-1 计算机系统存储层次示意 2.三级存储系统 (1)Cache- 主存存储体…

数据结构——算法和算法分析

目录 算法和算法分析 算法 算法设计的要求 算法效率的度量 算法的存储空间需求 算法和算法分析 算法 算法是对特定问题求解步骤的一种描述&#xff0c;它是指令的有限序列&#xff0c;其中每一条指令表示一个或多个操作。 一个算法具有下列5个重要的特性&#xff1a; &…

轻松实现微服务间的无缝通信:OpenFeign入门指南

OpenFeign 前言1、导入依赖2、开启feign调用3、编写OpenFeign客户端4、Fegin接口实现5、Feign接口调用 前言 Spring Cloud OpenFeign是一种基于Spring Cloud的声明式REST客户端&#xff0c;它简化了与HTTP服务交互的过程。它将REST客户端的定义转化为Java接口&#xff0c;并且…

餐厅点餐系统

TOC springboot0742餐厅点餐系统 系统概述 进过系统的分析后&#xff0c;就开始记性系统的设计&#xff0c;系统设计包含总体设计和详细设计。总体设计只是一个大体的设计&#xff0c;经过了总体设计&#xff0c;我们能够划分出系统的一些东西&#xff0c;例如文件、文档、数…

知乎信息流广告推广开户需要什么资质?

知乎作为中国领先的问答社区&#xff0c;凭借其高质量的内容和庞大的用户群体&#xff0c;成为了众多品牌青睐的营销阵地&#xff0c;云衔科技助力企业高效实现知乎广告开户及代运营服务。 一、知乎信息流广告推广开户资质要求 为了在知乎平台上投放信息流广告&#xff0c;企…

供应链系统源码的关键技术是什么?

供应链管理是企业运营中的重要环节&#xff0c;而高效的供应链系统能够大幅提升企业的竞争力。在数字化转型的过程中&#xff0c;越来越多的企业选择使用开源供应链系统源码来定制开发适合自身需求的解决方案。那么&#xff0c;供应链系统源码的关键技术有哪些&#xff1f;本文…

如何分析C语言中的声明

声明是C语言中一个非常基础但重要的部分&#xff0c;无论是阅读他人的代码&#xff0c;还是排查编译报错&#xff0c;正确理解声明都会对我们有莫大的帮助。 有的人可能会说声明不是很简单吗&#xff1f; 小A说&#xff0c;看&#xff0c;我声明了一个整型变量&#xff1a; i…

htsjdk SamReader接口介绍

SamReader 是 htsjdk 库中的一个接口,用于读取和解析 SAM(Sequence Alignment/Map)和 BAM(Binary Alignment/Map)格式的文件。htsjdk 是一个广泛使用的 Java 库,提供了处理高通量测序数据的工具,SamReader 是其中的一个核心接口。 SamReader 接口介绍 SamReader 主要用…

也开发一点自己的agent框架

换了一份工作&#xff0c;抽空写一篇文章。 前面说自己看了ja-netfilter&#xff0c;这个作者肯定是个厉害的人&#xff0c;但是在项目工程化方面&#xff0c;做出来的东西未必好用是真的&#xff0c;不是diss别人&#xff0c;而是他的插件接口还是指令集的。说实话&#xff0c…

TCP BBR 数学模型完整版

今天顺带加入了 bbr 的所有状态和所有流程&#xff0c;获得以下的方程组&#xff1a; C Bltbw&#xff0c;R RtProp&#xff0c;T_r ProbeRTT 周期&#xff0c;g1 Startup gain&#xff0c;g2 ProbeBW gain。设 x estimated bandwidth&#xff0c;r round trip time&am…

【STM32】C语言基础补充

学习过程中发现自己好些需要用到的C语言语法、特征都不太熟练了&#xff0c;特意记录一下&#xff0c;免得忘记了&#xff0c;以后遇到了新的也会继续更新 目录 1 全局变量 2 结构体 3 静态变量 4 memset()函数 5 使用8位的存储器存16位的数 1 全局变量…

vue3 Props的用法(父传子)

在 Vue 3 中&#xff0c;Props&#xff08;属性&#xff09;用于在组件之间传递数据。 Props的作用 传参&#xff1a;Props 允许父组件向子组件传递数据。类型检查&#xff1a;Vue 允许在定义 Props 时指定数据的类型&#xff0c;这有助于在开发过程中进行类型检查&#xff0…