JavaWeb入门——HTTP协议(笔记)
2022/1/9 14:33:26
本文主要是介绍JavaWeb入门——HTTP协议(笔记),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、HTTP是什么
(1)HTTP:HyperText Transfer Protocol的缩写,超文本传输协议
(2)是一种请求/响应式的协议
二、HTTP的特点
(1)支持客户端/服务器模式,即(C/S)
(2)简单快速:客户端向服务端请求服务时,只需传送请求方式和路径
(3)灵活:允许传输任意类型的数据,正在传输的数据由(Content——Type)加以标记
(4)无状态:HTTP是无状态协议,无状态是指对事务处理没有记忆能力,如果后续处理需要前面的信息,则他必须重传,这样可能会导致每次传送的数据量巨大
三、HTTP1.0和HTTP1.1
(1)基于HTTP1.0协议的交互过程有4个步骤:
建立连接,发送请求信息,回送响应消息,关闭连接
(2)两者区别:
HTTP1.0每次只能处理一个HTTP请求;
HTTP1.1支持持续连接,在一个TCP连接上可以传送多个HTTP请求和响应
(3)TCP是什么:
TCP(Transmission Control Protocol)传输控制协议,是一种面向连接(连接导向)的,可靠的,基于IP的传输层协议
四、HTTP消息
HTTP消息 = HTTP请求消息 + HTTP响应消息
(1)HTTP请求消息
请求消息 = 请求行 + 请求头 + 实体内容
1.请求行
位于请求消息第一行,请求行 = (请求方式 资源路径 所使用的HTTP版本)
如: GET /index.html HTTP/1.1
1.1 常见的请求方式:GET、POST
GET:请求方式的默认值是GET
当用户提交表单时,浏览器也将使用GET方式发送请求,如果浏览器请求的URL中有参数部分,在浏览器生成的请求消息中,参数请求行中的资源路径后面,如:
http://www.itcast.cn/javaForum?name=lee&psd=hnxy
发送给服务器的内容是:GET /javaForum?name=lee&psd=hnxy HTTP/1.1
POST:把各个表单元素及数据作为HTTP消息的实体内容发送给服务器,而不是作为URI地址的参数传递,在实际开发中通常使用POST方式发送请求,主要原因有:
(1)POST传输数据大小无限制
GEt请求方式是通过请求参数传递数据的,最多可传递2KB的数据,而POST请求方式是通过实体内容传递数据的,因此可以传递数据的大小没有限制
(2)POST方式比GET方式更安全
由于GET请求方式的参数信息都会在URL地址栏明文显示,而POST请求方式传递的参数隐藏在实体内容中,用户是看不到的,因此,POST比GET方式更安全
2.请求头
请求头 = 头字段名称 +:+ 值
头字段名称不区分大小写,但习惯将单词的第一个字母大写
常见的请求头字段:Accept , Accept-Charest , Accept-Encoding , Accept-language , Host , If-Match , Referer , User-Agent
涉及到的一个概念:盗链(假设一个网站的首页中想显示一些图片信息,而在该网站的服务器并没有这些图片资源,他在通过HTML文件中使用img标记链接到其他网站的图片资源,将其展示给浏览者,这就是盗链)
(2)HTTP响应消息
响应消息 = 响应状态行+响应消息头+实体内容
(请求消息 = 请求行 + 请求头 + 实体内容)
1.HTTP响应状态行
响应状态行 = HTTP版本 + 表示成功或者错误的状态码 + 对状态啊描述的文本信息
状态码:1xx:请求已接收,需要继续处理
2xx:请求已成功被服务器接收,理解并接受
3xx:为完成请求,客户端需进一步细化请求
4xx:客户端的请求错误
5xx:服务器端出现错误
常见状态码:
200:请求成功处理,响应正常请求结果
302:表示请求的资源临时从不同的URI响应请求,但请求者应继续使用原有位置来进行以后的请求。例如,在请求重定向中,临时URI应该是响应的Location头字段所只想的资源
304:如果客户端有缓存的文档,他会在发送的请求消息中附加一个If-Modified-Since请求头,表示只有请求的文档在If-Modified-Since指定的时间之后发生过更改,服务器才需要返回新文档。状态码304表示客户端缓存的版本是最新的,客户端应该继续使用他,否则,服务器将使用状态码200返回所请求的文档
404:表示服务器找不到请求的资源。如:访问服务器不存在的网页经常返回此状态码
500:表示服务器发生错误,无法处理客户端的请求,大部分情况下,是服务器端的CGI,ASP,JSP等程序发生了错误,一般服务器会在相应消息中提供具体的错误信息
HTTP消息响应头:
常见的头字段:
Location(获取请求文档的新地址,其值为一个使用绝对路径的URL地址,多配合3xx使用,以便通知客户端自动重新连接到新的地址请求文档)在HTTP消息头中不可能同时出现Location和Content-Type这两个头字段;
Server(制定服务器软件产品的名称)
Refresh:(自动刷新页面的时间,以秒为单位,如果在字段值后边用分号隔开之后加入一个URL参数,到指定时间后会自动跳转)
本文为自己参考《JavaWeb程序设计任务教程》黑马程序员教材整理的笔记,仅供学习,不做其他用途
这篇关于JavaWeb入门——HTTP协议(笔记)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-29设计Element UI表单组件居然如此简单!
- 2024-12-28一步到位:购买适合 SEO 的域名全攻略
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign学习入门:轻松掌握微服务通信
- 2024-12-27OpenFeign学习入门:轻松掌握微服务间的HTTP请求
- 2024-12-27JDK17新特性学习入门:简洁教程带你轻松上手
- 2024-12-27JMeter传递token学习入门教程
- 2024-12-27JMeter压测学习入门指南
- 2024-12-27JWT单点登录学习入门指南