Http协议

Http协议

1. 什么是协议?

协议实际上就是某些人或某些组织指定好的一套规范,大家都按照这个规范来,就可以沟通无障碍。(比方说大家都能听懂普通话)

2. 什么是Http协议?

(1)Http协议:W3C组织指定的一种超文本传输协议。是一种通信协议,发送消息的模板提前被指定好。(超文本,不是普通文本,例如声音,图像等)。
(2)Http协议游走在Browser和Server之间,B向S发送数据要遵守Http协议,S向B发送数据也要遵守Http协议,以实现B/S结构的解耦合,解耦合就是指Br不依赖于S,S不依赖于B。
(3)无论是哪个品牌的浏览器,或者哪个品牌的WEB服务器,都要遵守Http协议。

3. 什么是Http的请求协议?

(1)Http的请求协议包括4部分(B–>S):
						请求行
						请求头
						空白行(用于分割请求头和请求体)
						请求体
(2)Http请求协议的具体报文:(Browser中按F12,找到network,点击可以查看协议的具体内容)
						**GET请求:**
							GET /Servlet05/getServlet?username=jack&userpwd=123 HTTP/1.1											请求行
							Accept: 
							text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;
							q=0.9;
							Accept-Encoding: gzip, deflate, br
							Accept-Language: zh-CN,zh;q=0.9
							Connection: keep-alive
							Cookie: Idea-fa8597ff=9038ea2b-d714-4afd-b427-82ecb8d459fb
							Host: localhost:8080																											请求头
							Referer: http://localhost:8080/Servlet05/index.html
							Sec-Fetch-Dest: document
							Sec-Fetch-Mode: navigate
							Sec-Fetch-Site: same-origin
							Sec-Fetch-User: ?1
							Upgrade-Insecure-Requests: 1
							User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
							sec-ch-ua: ".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"
							sec-ch-ua-mobile: ?0
							sec-ch-ua-platform: "Windows"
																																									空白行
																																									请求体
						**POST请求:**
							POST /Servlet05/postServlet HTTP/1.1																					请求行
							Accept:
						    text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;
							v=b3;q=0.9
							Accept-Encoding: gzip, deflate, br
							Accept-Language: zh-CN,zh;q=0.9
							Cache-Control: max-age=0
							Connection: keep-alive
							Content-Length: 25
							Content-Type: application/x-www-form-urlencoded
							Cookie: Idea-fa8597ff=9038ea2b-d714-4afd-b427-82ecb8d459fb
							Host: localhost:8080																											请求头
							Origin: http://localhost:8080
							Referer: http://localhost:8080/Servlet05/index.html
							Sec-Fetch-Dest: document
							Sec-Fetch-Mode: navigate
							Sec-Fetch-Site: same-origin
							Sec-Fetch-User: ?1
							Upgrade-Insecure-Requests: 1
							User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
							sec-ch-ua: ".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"
							sec-ch-ua-mobile: ?0
							sec-ch-ua-platform: "Windows"
																																									空白行
							username: lsi1																													请求体
							userpwd: 123
(3)请求行
						包括三部分:
							1. 请求方式。(例如:**get**,**post**,delete,put,head,options,trace)
							2. URI。
								(1)URI:统一资源标识符,代表网络中某个资源的名字。但是通过URI无法定位。
								(2)URL:统一资源定位符,代表网络中某个资源,通过URL是可以定位到该资源的。
								(3)URI和URL关系:
											URL包括URI。
											http://lcoalhost:8080/Servlet05/index.html	这是URL
											Servlet05/index.html								这是URI
							3. HTTP协议版本号。
(4)请求头
						1. 请求的主机
						2. 主机的端口
						3. 浏览器信息
						4. 平台信息
						5. cookies信息等等
(5)请求体
						向服务器发送的具体数据

4. 什么是Http的响应协议?

(1)Http的响应协议包括4部分(S–>B):
						状态行
						响应头
						空白行(用于分割响应头和响应体)
						响应体
(2)HTTP协议响应的具体报文:
						HTTP/1.1 200  ok														状态行
						Content-Type: text/html;charset=UTF-8							响应头
						Content-Length: 142
						Date: Wed, 17 Aug 2022 13:45:35 GMT
						Keep-Alive: timeout=20
						Connection: keep-alive
																										空白行
						<!DOCTYPE html>														响应体
						<html>
						    <head>
						        <title>form get servlet</title>
						    </head>
						    <body>
						        <h1>form get servlet</h1>
						    </body>
						</html>
(3)状态行
						由三部分组成	
							1. 协议版本号(HTTP/1.1)
							2. 状态码
								(1)200表示请求响应成功,正常结束;
								(2)404表示响应的资源不存在,是前端错误;
								(3)405表示前端发送的请求方式与后端请求的处理方式不一致
										比如:前端是POST请求,后端处理方式是get,发生405
										比如:前端是GET请求,后端处理方式是post,发生405
								(4)500表示服务器端的程序出现了异常
								**注意:以4开始一般是浏览器端的错误,以5开始一般是服务器端的错误**
							3. 状态的描述信息(ok表示正常成功结束,not found表示资源找不到)
(4)响应头
  1. 响应的内容类型
  2. 响应的内容长度
  3. 响应的时间等等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值