标签:
HTTP(Hyper Text Transfer Protocol),中文翻译为超文本传输协议。是web客户端和服务端通信的协议。
目前HTTP协议有两个版本,版本二HTTP1.1基本都有采用这个。
1-HTTP1.0版本,在一请求、一次响应之后,服务端就会马上断开,且只能响应一个资源。也正是因为这样,给客户端造成的请求数很多,响应数也很多,消耗的时间和资源自然有人就增加,故较少采用。
2-HTTP1.1版本,和HTTP1.0一次请求和响应之后不会马上断开,而是预留一定的时间等待,在一定的时间内可以响应客户端的多个请求,即多个资源。
如果要提高客户端的访问速度,应该考虑客户端给服务端较少的连接而获得较多的资源。为此HTTP1.1常被采用。由此,你也可以在联想到转发和重定向,在开发的时候,能用转发的最好不要用重定向,重定向会二次请求服务器,转发只一次。
客户端一般的请求方式为doGet和doPost,一般情况采用doPost。
doGet:在较小的不涉及敏感信息的请求时候可以用。因为doGet方式对客户端传递给服务端的内容是有大小规定的。
doPost:常用这种方式。doPost不限制内容大小,且会对请求消息做一些安全处理,安全性较高。
一个完整的请求头和响应头都可以通过本地浏览器看到相关的参数,可以通过一些浏览器插件或者自带的工具可以查看,一般是key:value的形式。Cookie、Cache这些key很重要。
建议自行查看学习弄懂。
HTTP常见响应状态码:
200:服务器响应正确
302:客户端请求一台服务端的资源,该服务端并没有这个资源,服务器要求客户端自已去另一台服务端找资源(重定向,两次Request请求,即两个URL)
307:客户端请求一台服务端的资源,该服务端并没有这个资源,服务器自已去另一台服务端找资源,(转发,一次Request请求,即一个URL)
304:客户端请求服务端的资源,服务器没有修改过,且已经缓存到了客户端,要求客户端去其缓存中获取即可(资源已经缓存本地客户端)
404:找不到资源文件,要不是你输入的URL错误,就是服务端挂了。
500:客户端请求输入的URL正确,但服务器处理资源出错了
标签:
原文地址:http://my.oschina.net/drenerd/blog/487213