【愚公系列】2022年01月 Java教学课程 70-HTTP协议
一.HTTP协议
1.HTTP协议概述
HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。我们称这个客户端为用户代理程序(user agent)。应答的服务器上存储着一些资源,比如HTML文件和图像。我们称这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个“中间层”,比如代理服务器、网关或者隧道(tunnel)。
2.URL
URL是Uniform Resource Locator的缩写,即统一资源定位系统,也就是我们通常所说的网址。URL是在Internet的WWW服务程序上用于指定信息位置的表示方法,它指定了如HTTP或FTP等Internet协议,是惟一能够识别Internet上具体的计算机、目录或文件位置的命名约定。
URL的格式由下列三部分组成:
- 第一部分是协议(或称为服务方式);
- 第二部分是存有该资源的主机IP地址(有时也包括端口号);
- 第三部分是主机资源的具体地址,如目录和文件名等。
第一部分和第二部分之间用“://”符号隔开,第二部分和第三部分用“/”符号隔开。第一部分和第二部分是不可缺少的,第三部分有时可以省略。
3.抓包工具的使用
- 使用步骤
-
在谷歌浏览器网页中按F12 或者网页空白处右键,点击检查,可以调出工具
-
点击network,进入到查看网络相关信息界面
-
这时在浏览器中发起请求,进行访问,工具中就会显示出请求和响应相关的信息
4.请求信息
-
组成
- 请求行
- 请求头
- 请求空行
- 请求体
-
请求行
- 格式
-
请求方式
GET,POST,HEAD,PUT,DELETE,CONNECT,OPTIONS,TRACE,PATCH
其中用的比较多的是GET和POST
-
URI
请求资源路径,统一资源标识符
-
协议版本
- HTTP1.0: 每次请求和响应都需要建立一个单独的连接
- HTTP1.1:支持长连接
-
请求头
- 格式
-
请求头名称
- Host: 用来指定请求的服务端地址
- Connection: 取值为keep-alive表示需要持久连接
- User-Agent: 客户端的信息
- Accept: 指定客户端能够接收的内容类型
- Accept-Encoding: 指定浏览器可以支持的服务器返回内容压缩编码类型
- Accept-Language: 浏览器可接受的语言
- 小结
5.响应信息
-
组成
- 响应行
- 响应头
- 响应空行
- 响应体
-
响应行
- 格式
-
协议版本
- HTTP1.0: 每次请求和响应都需要建立一个单独的连接
- HTTP1.1: 支持长连接
-
响应状态码
- 1xx: 指示信息(表示请求已接收,继续处理)
- 2xx: 成功(表示请求已被成功接收、理解、接受)
- 3xx: 请求重定向(要完成请求必须进行更进一步的操作)
- 4xx: 客户端错误(请求有语法错误或请求无法实现)
- 5xx: 服务器端错误(服务器未能实现合法的请求)
-
状态信息
- 200 ok
- 404 Not Found
- 500 Internal Server Error
-
响应头
-
响应头名称
- Content-Type: 告诉客户端实际返回内容的网络媒体类型(互联网媒体类型,也叫做MIME类型)
-
响应头值
- text/html ----> 文本类型
- image/png ----> png格式文件
- image/jpeg ----> jpg格式文件
-
- 小结
- 点赞
- 收藏
- 关注作者
评论(0)