来认识认识——HTTP协议

前言:本文章是Java Web后端技术系列的第三篇,主要介绍Tomcat服务器,接下来将持续更新,感兴趣的小伙伴欢迎持续关注。因为我也是刚接触Java web方面的知识,尚有许多不足,如有错误欢迎指正!

介绍

特点:

  • 基础协议:TCP协议
  • 默认端口:80
  • 基于请求/响应模式:请求与响应成对,先有请求后有响应
  • 无状态协议:多次请求之间相互独立,不能交互数据

增强版HTTPS协议:本质上是HTTP协议,对通信数据进行了加密,默认端口是443

协议详解

请求报文详解

请求报文包括:

  • 请求行
  • 请求头
  • 空行
  • 请求体
    来认识认识——HTTP协议

请求行

请求行格式:请求方式 资源路径 协议/版本
例如:POST /web01/login.html HTTP/1.1

请求行必须在HTTP请求格式的第一行。

请求方式:协议规定7种,常用两种:GET和POST
GET请求:
将请求参数追加在URL后面,不安全。例如:login.html?username=tom&password=1234
URL长度限制GET请求方式的数据大小。
没有请求体

POST请求:
请求参数显示请求体处,较安全。
请求数据大小没有限制。
只有表单设置为method=”post”才是post请求.其他的都是get请求。

请求头

描述了客户端向服务器发送请求时使用的http协议类型,所使用的编码,以及发送内容的长 度,referer,等等。请求头是用键值对key:value表示数据的

常见请求头 描述
Referer 浏览器通知服务器,当前请求来自何处。如果是直接访问,则不会有这个头。常用 于:防盗链
Cookie 与会话有关技术,用于存放浏览器缓存的cookie信息。
User-Agent 浏览器通知服务器,客户端浏览器与操作系统相关信息

请求体

通常情况下,只有POST请求方式才会用到请求体,请求体中都是用户表单提交的数据,每一项数据都使用键值对的方式,多组键值对之间用&连接,比如:username=tom&password=1234

请求报文展示

打开浏览器,右键–>检查–>网络,然后访问随便一个网站,比如www.baidu.com,然后点击任意一个请求(如下图)就可以打开请求的详细信息了。
来认识认识——HTTP协议
请求行
来认识认识——HTTP协议
请求头
来认识认识——HTTP协议

响应报文详解

响应报文包括:

  • 响应行
  • 响应头
  • 空行
  • 响应体

来认识认识——HTTP协议

响应行

例如:HTTP/1.1 200 OK
格式:协议/版本 状态码 状态码描述
状态码:服务器与浏览器用于确定状态的固定数字号码

200 :请求成功。
302 :请求重定向。
304 :请求资源没有改变,访问本地缓存。
404 :请求资源不存在。通常是用户路径编写错误,也可能是服务器资源已删除。
500 :服务器内部错误。通常程序抛异常。

响应头

由来描述服务器会给客户端浏览器的content的一些描述,比如我是什么服务器、使用什么编码、返回的内容有多长等等。
响应头也是用键值对的形式

常见响应头 描述
Location 指定响应的路径,需要与状态码302配合使用,完成跳转。
Content-Disposition 文件下载的时候使用。通过浏览器以下载方式解析正文
Set-Cookie 与会话相关技术。服务器向浏览器写入cookie
Refresh 定时刷新

响应体

响应体,就是服务器发送给浏览器的正文。

响应报文展示

来认识认识——HTTP协议

总结

来认识认识——HTTP协议