1.HTTP的方法
方法 | 说明 | 支持的HTTP协议版本 |
---|---|---|
GET | 获取资源 | 1.0、1.1 |
POST | 传输实体文件 | 1.0、1.1 |
PUT | 传输文件 | 1.0、1.1 |
HEAD | 获取报文首部 | 1.0、1.1 |
DELETE | 删除文件 | 1.0、1.1 |
OPTIONS | 询问支持的方法 | 1.1 |
TRACE | 追踪路径 | 1.1 |
CONNECT | 要求用隧道协议连接代理 | 1.1 |
LINK | 建立和资源之间的联系 | 1.0 |
UNION | 断开连接关系 | 1.0 |
其中最常用的方法是GET方法和POST方法。请求方法标识的操作的类型,属于http协议的规范。
GET和POST的区别
GET发送的请求数据只能时queryString,POST方法既可以是queryString保存数据,也可以时body。
2.HTTP状态码
HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:
HTTP状态码列表:
状态码 | 状态码英文名称 | 中文描述 |
---|---|---|
200 | OK | 请求成功。一般用于GET与POST请求 |
301 | Moved Permanently | 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替 |
302 | Found | 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI |
307 | Temporary Redirect | 临时重定向。与302类似。使用GET请求重定向 |
304 | Not Modified | 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源 |
400 | Bad Request | 客户端请求的语法错误,服务器无法理解 |
401 | Unauthorized | 请求要求用户的身份认证 |
403 | Forbidden | 服务器理解请求客户端的请求,但是拒绝执行此请求 |
404 | Not Found | 服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面 |
405 | Method Not Allowed | 客户端请求中的方法被禁止 |
500 | Internal Server Error | 服务器内部错误,无法完成请求 |
502 | Bad Gateway | 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应 |
3.HTTP常见Header
- Content-Type:数据类型(text/html等)——body的数据类型(请求和响应只要有body,都需要这个字段)
- Content-Length:Body的长度
- Host:客户端告知服务器,所请求的资源是在哪个主机的端口上
- User-Agent:声明用户的操作系统和浏览器版本信息
- referer:当前的页面是从哪个页面跳转过来的
- location:搭配3XX状态码使用,告诉客户端接下来要去哪里访问。
- Cookie:用于在用户端储存少量的信息,通常用于实现对话的功能。
4.抓包工具的使用(Fidder,浏览器自带的开发者工具)
对于某次的http请求、响应,重点关注的是以下内容:
(1)请求方法——特别是405状态码
(2)URL——404
(3)状态码
(4)head投中:如果有body,一定要关注Content-Type
(5)body
5.开发者工具抓包
开发者工具也可以抓包,但是要注意,没有完整的http原生数据格式,都是解析过的。
请求数据,包括queryString body都在最后。
5.整体操作流程
(1)开发;
(2)打包部署(把项目/应用复制到tomcat/webapps目录)
(3)启动tomcat:startup
(4)访问某个资源
根据url格式:
http://本机ip或域名:8080/应用上下文路径/服务资源路径
(5)抓包分析当次http请求所涉及的http数据传输。
抓包过程中注意:
(1) 浏览器中crtl+刷新或者ctrl+f5表示强制刷新。
(2)有时候,配置环境变量/安装包方式安装过,即便是通过某个tomcat/bin/startup启动,实际上启动的可能是不想启动的tomcat.
(3)tomcat一直运行,才能访问。
(4)tomcat本地路径,不能带空格,中文和字符。
(5)在idea禁止打开html.