Http协议主要特点可以概括如下:
1、支持客户/服务器模式。
2、简单快速:客户向服务器请求服务时,只需传送请求路径和方法!(asp.net简单三层中只包含路径,不需要传送方法,而asp.net MVC是传送路径和方法的,与JSP类似),请求方法常用的有get,head,post。每种方法规定了客户与服务器联系的类型不同。
由于Http协议简单,使得服务器的程序规模小,因而通信速度很快!!
3、灵活:HTTP允许传输任意类型的数据对象(从服务器传到客户端),正在传输的类型由Content-Type加以标记!
4、无连接:无连接的含义是限制每次连接只处理一个请求。即服务器处理完客户端的请求,并响应客户端之后,即断开连接,采用这种
方法可以节省传输时间!
5、无状态:HTTP协议是无状态协议。无状态协议是指对于事物处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则他
必须重传,这样可能导致每次连接传送的数据量增大。另一方面在服务器不需要先前信息时,他的应答就比较快(解决无状态的方法可
以使用Cookie来记录状态)
Http协议心得
Http协议的重点是在HttpHeader,Http协议功能是实现原理全部藏在HttpHeader中!
当今的电子邮箱的发送格式与Http协议类似同样,都分成Header和Body电子邮箱的头部只有标题,而Http协议的头部貌似需要做更多的事情
一、当客户端请求服务器的时候,头部包含以下内容
1、首先是发送HTTP的动作如:Post,Get。例如GET /simple.htm HTTP/1.1!这个例子是HTTP1.1版本用GET的方法访问 simple.htm
2、客户端浏览器所能接受的类型,一般情况下为以下类型
image/gif,image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel,application/vnd.ms-powerpoint, application/msword
3、与服务器协定的语言和编码信息例如:
语言:Accept-Language: zh-cn<CR>
编码:Accept-Encoding: gzip, deflate
4、本机的信息,包括浏览器类型与操作系统的类型
5、访问服务器的主机和端口号,一般情况下端口号为80
例如:baidu:80当然,80端口号默认不显示
6、最后保持与服务器连接,等待服务器响应
ps:如果有Referer:则表示,该页面是从别的页面跳转过来的
接着浏览器将会做以下的4件事
1、解析输入的地址从中分解出协议名、主机名、端口、对 象路径等部分
2、把以上部分结合本机自己的信息,封装成一个HTTP请求数据包
3、使用TCP协议连接到主机的指定端口,并发送已封装好的数据包
4、等待服务器返回数据,并解析返回数据,最后显示出来
二、服务器返回客户端时,HTTP头部包含以下信息
1、所用的协议,一般情况下,为HTTP的协议后面是返回码,200表示成功,其他不做解释,例如404,500等
2、服务器使用的WEB服务软件例如IIS,appserv
3、处理请求的时间
4、返回消息的格式,例如:text/html,浏览器就会启用HTML 解析器来处理它,如果是image/jpeg,那么就会使用 JPEG的解码器来处理。
5、消息体长度,即Body长度。以字节为单位,浏览器接收 到它所指定的字节数的内容以后就会认为这个消息已经 被完整接收了。