Http
http协议传输的都是字符串了,webservice是基于xml的复杂对象
客户端请求:发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据
服务器响应:状态行、消息报头、空行和响应正文
post和get的区别
GET产生一个TCP数据包;POST产生两个TCP数据包。
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)
| 请求方式 | GET | POST |
|---|---|---|
| 参数位置 | url的query中 | 一般在content(body request)中,query也可 |
| 参数大小 | 受限于浏览器url大小,一般不超过32K | post其实是有大小限制的,只不过是取决于服务器的设置和内存大小 |
| 服务器数据接收 | 接收1次 | 根据数据大小,可分多次接收 |
| 适用场景(语义) | 从服务器端获取数据,不做增删改 | 向服务器提交数据,如做增删改操作 |
| 安全性 | 参数携带在url中,安全性低 | 相对于GET请求,安全性更高 |
| 浏览器回退 | 无害 | 重新提交请求 |
| Url地址 | 可收藏为书签,参数可完整保留在浏览器历史记录 | 不可以 |
| 浏览器缓存 | 主动缓存 | 不会,除非手动设置 |
| 编码 | 只能进行url编码 | 支持多种编码方式 |
| 参数数据类型 | 只接受ASCII字符 | 无限制 |
状态码
2XX:请求成功
- 200 OK,表示从客户端发来的请求在服务器端被正确处理
- 204 No content,表示请求成功,但响应报文不含实体的主体部分
- 206 Partial Content,进行范围请求
3XX:重定向
- 301 moved permanently,永久性重定向,表示资源已被分配了新的 URL(即请求的资源已经永久转移到新的位置。在返回301状态码的同时,响应报文也会附带重定向的url,客户端接收到后将http请求的url做相应的改变再重新发送)
- 302 found,临时性重定向,表示资源临时被分配了新的 URL
- 303 see other,表示资源存在着另一个 URL,应使用 GET 方法定向获取资源
- 304 not modified,表示服务器允许访问资源,但因发生请求未满足条件的情况
- 307 temporary redirect,临时重定向,和302含义相同
4XX:客户端错误
- 400 bad request,请求报文存在语法错误
- 401 unauthorized,表示发送的请求需要有通过 HTTP 认证的认证信息(身份验证,需要授权账号和密码信息)
- 403 forbidden,表示对请求资源的访问被服务器拒绝
- 404 not found,请求失败,在服务器上没有找到请求的资源(1.检查网络是否连通;2.服务器是否开启;3.资源被删除.)
5XX:服务端错误
- 500 internal sever error,表示服务器端在执行请求时发生了错误(1.该关联的地方没关联...)
- 503 service unavailable,表明服务器暂时处于超负载或正在停机维护,无法处理请求
浙公网安备 33010602011771号