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(返回数据)

请求方式GETPOST
参数位置url的query中一般在content(body request)中,query也可
参数大小受限于浏览器url大小,一般不超过32Kpost其实是有大小限制的,只不过是取决于服务器的设置和内存大小
服务器数据接收接收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,表明服务器暂时处于超负载或正在停机维护,无法处理请求
 
posted on 2020-08-16 16:55  华曦  阅读(124)  评论(0)    收藏  举报