为了不CSRF攻击,将GET请求改成了POST请求。浏览器
200 OK:客户端请求成功;缓存
206 Partial Content:客户发送了一个带有Range头的GET请求,服务器完成了它;(常见于用Vedio标签播放一个视频地址,或使用audio播放一个音频地址,当视频、音频文件很大的时候,基本返回206)安全
301 Moved Permanently:所请求的页面已经转移至新的url;服务器
302 Found:所请求的页面已经 临时 转移至新的url;并发
304 Not Modified:客户端有缓冲的文档并发出了一个条件性的请求,服务器告诉客户,原来缓冲的文档还能够继续使用。性能
400 Bad Request:客户端请求有语法错误,不能被服务器所理解;(少)编码
401 Unauthorized:请求未经受权,这个状态码必须和www-Authenticate报文域一块儿使用;(少)url
403 Forbidden:对被请求页面的访问被禁止;(多,例如在页面中有一个地址,不能直接访问,只能经过服务器访问)代理
404 Not Found:请求资源不存在;视频
500 Internal Server Error:服务器发生不可预期的错误,原来缓冲的文档还能够继续使用;
503 Server Unavailable:请求未完成,服务器临时过载或宕机,一段时间后可恢复正常。
补充:XMLHttpRequest 的状态,XMLHttpRequest.readyState 0: 请求未初始化;1: 服务器链接已创建;
2: 请求已接收;
3: 请求处理中;
4: 请求已完成,且响应已就绪;(xmlhttp.readyState==4 && xmlhttp.status==200)
持久链接(Connection:keep-alive,HTTP/1.1版本支持,HTTP/1.0版本不支持)
HTTP协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时,每一个请求/应答客户和服务器都要新建一个链接,完成以后当即断开链接(HTTP协议为无链接的协议)。
当时用Keep-Alive模式(又称持久链接、链接重用)时,Keep-Alive功能使客户端到服务器端的链接持续有效,当出现对服务器的后续请求时,Keep-Alive功能避免了创建或从新创建链接。
在使用持久链接的状况下,
某个链接上消息的传递相似于:请求1->响应1->请求2->响应2->请求3->响应3。(->表示中间未断开)
某个链接上的消息变成了相似这样:请求1->请求2->请求3->响应1->响应2->响应3。(打包请求,打包响应)
HTTP管线化是将多个HTTP要求(request)整批提交的技术,而在传送过程当中不需先等待服务端的回应。管线化机制须经过永久链接(persistent connection)完成,仅HTTP/1.1支持此技术(HTTP/1.0不支持),而且只有GET和HEAD要求能够进行管线化,而POST则有所限制。此外,初次建立链接时也不该启动管线机制,由于对方(服务器)不必定支持HTTP/1.1版本的协议。
管线化特色(原理:把请求和响应打包)1.管线化机制经过持久链接完成,仅HTTP/1.1支持此技术(*); 2.只有GET和HEAD请求能够进行管线化,而POST则有所限制(*); 3.初次链接时不该启动管线机制,由于对方(服务器)不必定支持HTTP/1.1版本的协议(*); 4.管线化不会影响响应到来的顺序,如上面的例子所示,响应返回的顺序并未改变; 5.HTTP/1.1要求服务器端支持管线化,但并不要求服务器端也对响应进行管线化处理,只是要求对于管线化的请求不失败便可;6.由优于上面提到的服务器端问题,开启管线化极可能并不会带来大幅度的性能提高,并且不少服务器端和代理程序对管线化的支持并很差,所以现代浏览器Chrome和Firefox默认并未开启管线化支持。