快速查找和回忆Http协议必备
http请求协议的组成
请求行格式:
Method Request-URI HTTP-Version
消息报头
Content-Type
四种常见的Post Content-Type:
application/x-www-form-urlencoded 表单格式典型的key-value
POST http://www.example.com HTTP/1.1 Content-Type: application/x-www-form-urlencoded;charset=utf-8 title=test&sub%5B%5D=1&sub%5B%5D=2&sub%5B%5D=3
multipart/form-data 用表单传文件
POST http://www.example.com HTTP/1.1 Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryrGKCBY7qhFd3TrwA ------WebKitFormBoundaryrGKCBY7qhFd3TrwA Content-Disposition: form-data; name="text" title ------WebKitFormBoundaryrGKCBY7qhFd3TrwA Content-Disposition: form-data; name="file"; filename="chrome.png" Content-Type: image/png PNG ... content of chrome.png ... ------WebKitFormBoundaryrGKCBY7qhFd3TrwA--
application/json
POST http://www.example.com HTTP/1.1 Content-Type: text/xml examples.getStateName 41
Accept
期望收到的数据类型,eg:Accept:image/gif,表明客户端希望接受GIF图象格式的资源;Accept:text/html,表明客户端希望接受html文本
Accept-Encoding
浏览器发送请求时,通过 Accept-Encoding 带上自己支持的内容编码格式列表;服务端从中挑选一种用来对正文进行编码,并通过 Content-Encoding 响应头指明选定的格式;浏览器拿到响应正文后,依据 Content-Encoding 进行解压。当然,服务端也可以返回未压缩的正文,但这种情况不允许返回 Content-Encoding。这个过程就是 HTTP 的内容编码机制。
三种数据压缩格式:
- DEFLATE,是一种使用 Lempel-Ziv 压缩算法(LZ77)和哈夫曼编码的数据压缩格式。定义于 RFC 1951 : DEFLATE Compressed Data Format Specification;
- ZLIB,是一种使用 DEFLATE 的数据压缩格式。定义于 RFC 1950 : ZLIB Compressed Data Format Specification;
- GZIP,是一种使用 DEFLATE 的文件格式。定义于 RFC 1952 : GZIP file format specification;
http响应内容组成
响应组成:
状态行格式:
HTTP-Version Status-Code Reason-Phrase CRLF
- HTTP-Version 表示服务器HTTP协议的版本
- Status-Code 表示服务器发回的响应状态代码;
- Reason-Phrase 表示状态代码的文本描述。
消息报头
Content-Type
实体报头域用语指明发送给接收者的实体正文的媒体类型。eg:
- text/html
- text/plain
- text/css
- text/javascript
- application/x-www-form-urlencoded
- multipart/form-data
- application/json
- application/xml
状态码:
- 1xx:指示信息–表示请求已接收,继续处理
- 2xx:成功–表示请求已被成功接收、理解、接受
- 3xx:重定向–要完成请求必须进行更进一步的操作
- 4xx:客户端错误–请求有语法错误或请求无法实现
- 5xx:服务器端错误–服务器未能实现合法的请求
Http工具和参考链接:
HTTP协议详解:www.cnblogs.com/li0803/arch…
Android之Http通信:blog.csdn.net/coder_pig/a…
四种常见的POST 提交数据方式:imququ.com/post/four-w…
在线Http请求模拟工具:www.atool.org/httptest.ph…
坚持原创技术分享,您的支持将鼓励我继续创作!

微信打赏

支付宝打赏