HTTP无状态协议(超文本传输协议,属于文本协议)
HTTP无状态协议是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
操作方式 |
数据位置 |
明文密文 |
数据安全 |
长度限制 |
应用场景 |
GET |
HTTP包头 |
明文 |
不安全 |
长度较小 |
查询数据 |
POST |
HTTP正文 |
可明可密 |
安全 |
支持较大数据传输 |
修改数据 |
HTTP请求头和相应头
参考:http://tools.jb51.net/table/http_header
相应头和请求头对照(部分)
Request |
Response |
Accept:浏览器能够处理的内容类型 |
Accept-Ranges:表明服务器是否支持指定范围请求及哪种类型的分段请求 |
Accept-Charset:浏览器能够显示的字符集 |
|
Accept-Encoding:浏览器能够处理的压缩编码 |
|
Accept-Language:浏览器当前设置的语言 |
|
Connection:浏览器与服务器连接类型,表示是否要持续连接 |
|
Cookie:把保存在该请求域名的所有cookies发送给服务器 |
Set-Cookie:设置HTTP cookie |
Host:指定请求服务器的域名或端口号 |
Server:服务器软件名称 |
Referer:先前请求的网页 |
|
User-Agent:用户代理 |
Vary:告诉下游代理是使用缓存响应还是从原始服务器请求 |
|
Location:重定向到新的资源 |
|
Refresh:应用于重定向或一个新的资源被创造 |
Date:请求发送的时间 |
Date:原始服务器发出消息的时间 |
|
Expires:相应过期的时间 |
|
Age:从原始服务器到代理缓存形成的估算时间(以秒计,非负) |
Cache-Control:指定请求和相应遵循哪种缓存机制。 |
Cache-Control:告诉所有的缓存机制是否可以缓存以及用哪种方式缓存 |
RESTful(英文:Representational State Transfer,简称REST表现层状态转换)
一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合云计算之类的环境。客户端可以缓存数据以改进性能。
HTTP状态码
之后再补充