请求方式
GET 获取一个资源内容
POST 新增一个资源
PUT 更新资源内容
DELETE 删除资源
OPTIONS 根据返回判断是否有对其请求的权限
HEAD 只返回 head,不返回实体内容
PATCH 更新部分内容
状态码
1xx 请求已接受,需要继续处理
2xx 请求已经正确处理
3xx 重定向
4xx 客户端错误
5xx 服务端错误
101切换协议,如:将 HTTP 协议切换为 WebSocket 协议
200成功
206返回部分内容,如:大文件下载
301永久重定向,如:资源更换路径或改名
302临时重定向,如:当前请求需要登录,临时跳转到登录页
304资源未修改,不返回实体内容,客户端可直接读取本地缓存内容
400错误请求
403拒绝执行,如:无对应的访问权限
404资源找不到,如:服务器已经删除该资源
413请求实体过大,如:服务端限制了上传的文件大小
500服务端内部错误,如:数据处理异常导致报错
502作为网关或代理服务器时,上游服务器异常
504作为网关或代理服务器时,上游服务器处理超时
Header分类
通用
Date: Tue, 3 Oct 2019 02:16:00 GMT
Connection: close
请求
User-Agent: Mozilla/5.0 (Linux; U; Android4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko)Version/4.0 Mobile Safari/534.30
Accept: /
响应
Server: Nginx
Last-Modified: Thu, 16 Oct2019 10:15:16 GMT
实体
Content-Type: text/html; charset=utf-8
Content-Length: 100
扩展(自定义)
X-Powered-By: thinkjs-3.0.4
X-Cache: hit
Cookie安全策略
path
domain (hostonly*)
expires (max-age)
secure
httponly
SameSite
XSS 漏洞盗取 Cookie,设置httponly
CSRF 漏洞,设置token/samesite
Content-Type
application/x-www-form-urlencoded
multipart/form-data
application/json
text/xml
性能优化
keep-alive
减少网络传输大小gzip
缓存 强缓存 协商缓存LocalStorage ServiceWorker
http2(二进制传输、多路复用、头部压缩、server push) / http3(UDP)
http抓包工具
Wireshark
Fiddler
Firebug for Firefox
Chrome 开发者工具
IE8+ 自带的开发者工具
http发包工具
telnet / curl
Fiddler *
Tamper for Firefox
Postman for Chrome *
Paw for OSX