常见请求,响应
HTTP请求
http请求包括以下内容:
- 请求行:请求的http方法+Url+http的版本号
- 请求头
- 请求体: 键值对
请求方法
GET
> 发送请求数据和服务器进行通讯,请求体重不包含请求数据,请求数据放在协议头中。支持快取、缓加入书签。幂等
POST
和get功能一样,提交资源放在请求体重,不支持快取,非幂等,请求数据不能被缓存
HEAD
本质和get一样,但是响应中没有呈现数据,而是http的头信息,主要用来检查资源或者超链接的有效性,检查网页是否被串改,获取头信息等。特别适用在有限的速度和宽带下。
PUT
和post类似,HTML表单不支持,发送资源与服务服务器,并存储在服务器的指定位置,要求客户端事先知道该位置。比如post是在一个集合上,而put是具体某一个资源商,所以put是安全的,无论请求多少次,都在改资源上修改,而pot考嫩恶搞请求了几次,就创建了几次资源。幂等
DELETE
请求服务器删除某资源,和put都具有破坏性,可能被防火墙拦截。如果是https协议,就不用担心这个问题了。
TRACE
回显服务器收到的请求,主要用于测试或诊断。一般禁用,防止被恶意攻击或者盗取信息
CONNECT
http1.1协议中预留给能够将连接修改为管道方式的代理服务器的,就是把服务器作为跳板,去访问其他网页。然后把数据返回来,连接成功后,就可以正常使用get,post了
OPTIONS
获取http服务器支持的http请求方法,允许客户端查看服务器性能,比如ajax卡与时与检测等。
请求头
- GET POST 请求方式
- Accept 客户端支持的数据类型,如:accept:image/gif,text/html
- Accept-Charset 请求报头域用于指定客户端接受的字符集,没有的话标识任何字符集都可以
- Accept-Encoding 客户机支持的数据压缩格式,比如:Accept-Encodeing:gzip.deflate
- Accept-Language 客户机的语言环境,比如:Accept-Language:zh-cn
- host: 指定请求服务器的端口号 浏览器通过这个头,告诉服务器,他想访问那个主机
- if-Modified-Since 如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码
- Referer 包含一个Url,用户从该URL代表的页面出发,访问当前请求的页面
- User-Agent 客户机的软件环境
- Cookie 会话信息数据
- Date 浏览器发送数据的请求时间
- Authorization: 用于证明客户端有权查看某个资源
- Cache-Control: 指定所有缓存机制在整个请求/响应链接中必须服从的指令。
- Connection: 表示是否需要持久链接。
- Except: 请求特定的服务器行为
- if-Match: 请求内容与实体相匹配才有效
- Pragma: 用来包含特定的指令,如Pragma:no-cache
- User-Agent: 允许客户端将它的操作系统,浏览器和其他的属性,告诉服务器。
响应头
- Location:用于重定向接受者到一个新的位置
- Accept-Charset: 表明服务器是否支持指定范围请求及那种类型的分段请求
- Age: 从原始服务器到代理缓存形成估算时间
- Allow: 对网络资源的有效请求行为,不允许则返回405,如:Allow:Get,HEAD
- Cache-Control: 告诉所有缓存机制是否可以缓存及哪种类型。如:Cache-Conrol:no-cache
6.Content-Encoding: web服务器支持返回的压缩编码类型,如:Content-Encoding: gzip - Content-Language:响应体的语言。如:Content-Language: en,zh
- Content-Length:响应体的长度。如:Content-Length: 100
- Content-Location:请求资源可替代的备用的另一地址。如:Content-Location: /index.html
- Content-MD5:返回资源的MD5校验值
- Content-Range:在整个返回体中本部分的字节位置。如:Content-Range: bytes 21010-47021/47022
- Content-Type:返回内容的MIME类型。如:Content-Type: text/html; charset=utf-8
- Date:原始服务器消息发出的时间
- Expires:响应过期的日期和时间。
- Pragma:包括实现特定的指令,它可应用到响应链上的任何接收方。如:Pragma: no-cache
- Proxy-Authenticate:它指出认证方案和可应用到代理的该URL上的参数。如:Proxy-Authenticate: Basic
- refresh:表示浏览器应该在多少时间之后刷新文档,以秒记。如:response.setHeader("refresh","3"),实现页面每3s刷新一次;
- Retry-After:如果实体暂时不可取,通知客户端在指定时间之后再次尝试。如:Retry-After: 120
- Server:web服务器软件名称。如:Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
- Set-Cookie:设置Http Cookie
- WWW-Authenticate:表明客户端请求实体应该使用的授权方案。如:WWW-Authenticate: Basic
2021年06月13日 23:40
学习了