【JavaWeb】知识总结Ⅷ(HTTP协议, GET请求包, POST请求包, 响应包的分析)

简介: 1. http 是 TCP/IP 协议的一个应用层协议,http 也是我们 web 开发的基础.http协议特点:2.基于请求响应模型的:一次请求对应一次响应3.http协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的· 缺点:多次请求之间不能共享数据 (java中使用会话技术解决session、cookie)· 优点:速度快

目录


🌒一. HTTP 协议介绍


🌒二. HTTP协议的特点


🌕三. GET请求包分析


🌕四. POST请求包分析


🌕五. 使用GET 请求,  POST 请求的场景有哪些


🌔六. HTTP 响应包分析


🌓七. 状态码


🌒八. MIME类型


一. HTTP 协议介绍


几种常见的请求 :




超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用广泛的一种网络协议。

是工作在 tcp/ip 协议基础上的,所有的 WWW 文件都遵守这个标准。

二. HTTP协议的特点

1. http 是 TCP/IP 协议的一个应用层协议,http 也是我们 web 开发的基础.

http协议特点:


2.基于请求响应模型的:一次请求对应一次响应


3.http协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的


· 缺点:多次请求之间不能共享数据    (java中使用会话技术解决session、cookie)


· 优点:速度快



4.Http是以明文方式发送数据

(数据不是加密的,很不安全--发展了现在安全的https协议)


5.用于从www服务器传输超文本到本地浏览器的传输协议


6. Http 协议是以TCP/IP为基础的应用层协议,用于定义浏览器与Web服务器之间交换数据的过程,大家平常通过浏览器访问Internate上的某一个网页的过程就是借助HTTP协议完成的


7.现在广泛使用的版本HTTP1.1

(1)跟Http1.0最大的区别是支持持久连接,在一个TCP/IP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。在1.0中如果要访问某个包含很多图片的网页时,每张图片都会建立一个连接,当图片下载完毕后,就会关闭连接(当某个网站图片很多时,这样就会造成下载速度非常慢),而在 Http1.1支持可持续性连接;

(2) Http1.1还允许客户端不用等待上一次请求结果返回,就可以发出下一次请求,但服务器端必须按照接收到客户端请求的先后顺序依次回送响应结果,以保证客户端能够区分出每次请求的相应内容,这样也明显地减少了整个下载过程所需要的时间

8.状态码:


200 - 请求成功


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


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


500 - 内部服务器错误


.....



9.HTTP协议是一个无状态协议,也就是说客户端的一次请求接收结束后就会断开与服务器的连接,当发出第二次请求后重新建立访问连接,所以对于用户的多次请求我们就需要一种机制进行跟踪;

①Cookie跟踪

服务器端向客户端保存一些信息(只能是文本文件,长度也是有限制的最长为4K,客户端也可以阻止服务器的写入),因此 Cookie跟踪不太稳定,基于Cookie的开发一般是做些锦上添花的东西可有可无,对于核心的业务逻辑我们不能用Cookie进行开发;



②服务器在向客户端写数据的时候会将客户端标识一起写入,便于下次该客户访问是从客户端获取重要信息;



③服务器只能取出它自己在客户端写入的信息;


④Cookie分类

无生命周期的Cookie,它存活去E浏览器的缓存中;


有生命周期的Cookie,它具有有效时间,它存在于客户端磁盘中,有效期后自动消失。


如果一个请求包里含有服务器的其他资源, 那么就继续发送请求, 直到所需资源都请求到了为止


三. GET请求包分析

🌸请求行

🌸请求头

举例解释 :


✨✨更详细的解释 :



四. POST请求包分析

🌈🌈举例说明 :





五. 使用GET 请求,  POST 请求的场景有哪些

💡💡


● GET 请求有哪些

1. form 标签 method=get [ 指定,由程序员指定的 ]

2. a 标签[ 以 get 方式来获取资源 ]

3. link 标签引入 css [ 以 get 方式来获取资源 ]

4. Script 标签引入 js 文件 [ 以 get 方式来获取资源 ]

5. img 标签引入图片 [ 以 get 请求来获取图片 ]

6. iframe 引入 html 页面 [ 不演示 ]

7. 在浏览器地址栏中输入地址后敲回车 [ 用的比较多 ]

💡💡


● POST 请求有哪些

 form 标签 method=post

🌈🌈HTTP 请求中怎样选择 Get 和 Post 方式🌈🌈


在大部分情况下,我们不需要考虑这个问题,因为业务本身就会自动区别, 比如你要显示图片,引入 css/js 这个天然的就是 get 请求,比如你登录,发帖,上传文 件, 你就会使用 post  (用心体会)

传输的数据大小区别

1) get 传送的数据量较小。不能大于 2KB( 不同浏览器不一样 ) 。

2) post 传送的数据量较大。一般默认不受限制。

🌸🌸🌸什么情况下使用 post 请求


1) post 请求是会在浏览器上隐藏參数部分的,在安全要求的部分都会使用到 POST 请求。 如用户登录。数据增上改等等。都会把參数隐藏起来,这样就不会通过你的请求暴露你的參数格式。

       比方:del?id=1 ,别人就能够用 del?id=3 来删除你其它数据。

2) 在向 server 传递数据较大的时候。使用 POST , get 是有限制的 , 比如发帖 , 上传文件

🌸🌸🌸什么情况下使用 get 方式呢


1) 在前台页面展示,比如分页内容等,可以保留传递参数 , 可用来非常好的分享和传播 ,POST 中链接地址是不变化的, 不利于分享和传播

       例如 :



建议:

1) get 方式的安全性较 Post 方式要差些。包括机密信息的话。建议用 Post 数据提交方式;


2) 在做数据查询时。建议用 Get 方式;而在做数据加入、改动或删除时,建议用 Post 方式

六. HTTP 响应包分析

● HTTP 响应包括 3 个部分

       1. 响应行

       2. 响应头

       3. 响应体

● HTTP 响应包分析图



七. 状态码

状态行

格式: HTTP版本号 状态码 原因叙述<CRLF>

举例:HTTP/1.1 200 OK

状态码用于表示服务器对请求的处理结果,它是一个三位的十进制数。响应状态码分为5类,如下所示:



🌸✨⭐ 演示 302 状态码使用 :



状态码大全:状态 | Status - HTTP 中文开发手册 - 开发者手册 - 腾讯云开发者社区-腾讯云


八. MIME类型

MIME 介绍

1.MIME 是 HTTP 协议中数据类型。 MIME 的英文全称是 "Multipurpose Internet Mail Extensions" 多功能 Internet 邮件扩充服务。 MIME 类型的格式是 " 大类型 / 小类型 " , 并与某一种文件的扩展名相对应

2. 在响应包的 Content-Type 就有指定 , 如图


常见的 MIME 类型




相关文章
|
1天前
|
测试技术 Python
我们假设要测试一个名为`http://example.com`的网站,并对其进行简单的GET请求性能测试。
我们假设要测试一个名为`http://example.com`的网站,并对其进行简单的GET请求性能测试。
17 6
|
1天前
|
Shell Python
`pytest-httpserver`是一个pytest插件,它允许你在测试期间启动一个轻量级的HTTP服务器,并模拟HTTP请求和响应。
`pytest-httpserver`是一个pytest插件,它允许你在测试期间启动一个轻量级的HTTP服务器,并模拟HTTP请求和响应。
18 4
|
4天前
|
JSON 网络协议 数据格式
网络协议基础:HTTP请求与响应详解
【7月更文挑战第11天】HTTP协议作为Web通信的核心,其请求与响应机制是理解网络通信的关键。本文详细介绍了HTTP请求与响应的格式、过程以及常用的请求方法,帮助读者更好地理解HTTP协议的工作原理和应用场景。在实际应用中,HTTP协议的可定制性和灵活性使其能够适应多种
|
20天前
|
XML 开发框架 前端开发
http请求响应的contentType
http请求响应的contentType
24 5
|
22天前
|
缓存
HTTP响应首部字段释义
【6月更文挑战第23天】响应首部字段是由服务器端向客户端返回响应报文中所使用的字段。
|
20天前
|
Web App开发 缓存 安全
HTTP协议 -JavaWeb基础必知
HTTP协议 -JavaWeb基础必知
23 0
|
24天前
|
XML JSON 前端开发
HTTP 请求参数与响应参数的关键区别
在 Web 的开发领域,无论你是前端开发还是后端开发人员,把握请求与响应参数的核心差异是极其重要的。这些参数在客户端和服务器之间的互动中扮演着关键角色。
|
26天前
|
Java 应用服务中间件 程序员
JavaWeb基础第四章(SpringBootWeb工程,HTTP协议与Web服务器-Tomcat)
JavaWeb基础第四章(SpringBootWeb工程,HTTP协议与Web服务器-Tomcat)
|
18天前
|
安全 网络协议 网络安全
IP代理的三大协议:HTTP、HTTPS与SOCKS5的区别
**HTTP代理**适用于基本网页浏览,简单但不安全;**HTTPS代理**提供加密,适合保护隐私;**SOCKS5代理**灵活强大,支持TCP/UDP及认证,适用于绕过限制。选择代理协议应考虑安全、效率及匿名需求。
|
3天前
|
存储 安全 搜索推荐
HTTPS协议深度解析
【7月更文挑战第12天】HTTPS协议通过加密通信和身份验证机制,为数据传输提供了强有力的安全保障。在现代互联网环境中,HTTPS已成为保障网站和用户数据安全的重要手段。了解HTTPS的工作原理和安全性特性,有助于更好地应用和维护HTTPS,提升网络安全水平。

热门文章

最新文章