Http协议
Http
TCP套接字传输
超时
请求超时(未连接到服务器)
- 网络不好
- 等待时长为5秒
响应超时(连接到服务器)
- 服务端连接后挂掉
- 服务端处理响应时间过长
- TimeOut: 30 (单位秒)
Connection
Http协议建立在TCP之上,若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;
- connection: keep-alive (长连接HTTP 1.1 默认值)
- connection: close (短连接HTTP 1.0默认值)
- keep-alive: timeout=20 (长连接TCP通道保持20秒)
- keep-alive: max=10 (长连接TCP通道保持10次请求便断开)
Http Request
- 请求行
- 请求头
- 空行(不可省)
- 请求体(可无)
Http Response
- 状态行
- 消息报头
- 空行
- 响应体
Content-Type
MediaType,即是Internet Media Type,互联网媒体类型,在Http协议消息头中,使用Content-Type来表示请求体中的媒体类型信息。
格式
类型格式:type/subtype(;parameter)? type
常见类型
标识 | 类型 | 描述 |
---|---|---|
text/html | HTML格式 | |
text/plain | 纯文本格式 | |
text/xml | XML格式 | |
image/gif | gif图片格式 | |
image/jpeg | jpg图片格式 | |
image/png | png图片格式 | |
application/xhtml+xml | XHTML格式 | |
application/xml | XML数据格式 | |
application/atom+xml | Atom XML聚合格式 | |
application/json | ||
application/pdf | ||
application/msword |
application/octet-stream
- 只能提交二进制,而且只能提交一个二进制,如果提交文件的话,只能提交一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组)。
- 属于HTTP规范中Content-Type的一种。
application/x-www-form-urlencoded
- 不属于http content-type规范,通常用于浏览器表单提交,数据组织格式:name1=value1&name2=value2,post时会放入http body,get时,显示在在地址栏。
- 当actionw为post时候,表单数据被编码为名称/值对。这是标准的编码格式。(在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型。)
- 当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2…),然后把这个字串append到url后面,用?分割,加载这个新的url。(注意是浏览器自动的操作,实际编码中不可以。)
multipart/form-data
- 既可以提交普通键值对,也可以提交(多个)文件键值对。
- HTTP规范中的Content-Type不包含此类型,只能用在POST提交方式下,属于http客户端(浏览器、java httpclient)的扩展。
- 通常在浏览器表单中,或者http客户端(java httpclient)中使用。
- 格式
1 | POST http://www.icyrene.cn/ |