【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 类型




相关文章
|
2天前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
21 13
|
1天前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
1天前
|
缓存 安全 API
http 的 get 和 post 区别 1000字
【10月更文挑战第27天】GET和POST方法各有特点,在实际应用中需要根据具体的业务需求和场景选择合适的请求方法,以确保数据的安全传输和正确处理。
|
3天前
|
网络协议 前端开发 API
HTTP 和 TCP 协议的应用场景有哪些不同
【10月更文挑战第25天】HTTP(超文本传输协议)和 TCP(传输控制协议)处于网络协议栈的不同层次,各自具有独特的功能和特点,因此它们的应用场景也存在明显的差异。
|
3天前
|
安全 前端开发 JavaScript
利用HTTP协议进行文件上传和下载的常见方法
【10月更文挑战第25天】可以利用HTTP协议方便地实现文件的上传和下载功能,满足不同应用场景下的需求。在实际应用中,还可以根据具体的业务需求和安全要求,对文件上传和下载的过程进行进一步的优化和安全处理。
|
2月前
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
29天前
|
安全 网络协议 算法
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
133 4
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
|
29天前
|
存储 网络安全 对象存储
缺乏中间证书导致通过HTTPS协议访问OSS异常
【10月更文挑战第4天】缺乏中间证书导致通过HTTPS协议访问OSS异常
59 4
|
5月前
|
安全 网络协议 网络安全
IP代理的三大协议:HTTP、HTTPS与SOCKS5的区别
**HTTP代理**适用于基本网页浏览,简单但不安全;**HTTPS代理**提供加密,适合保护隐私;**SOCKS5代理**灵活强大,支持TCP/UDP及认证,适用于绕过限制。选择代理协议应考虑安全、效率及匿名需求。
|
2月前
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
文章介绍了如何配置HAProxy以支持HTTPS协议和实现服务器的动态上下线。
125 8
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线