HTTP协议:
HTTP协议是基于TCP/IP协议之上的协议,是Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。HTTP消息头又可分为通用信息头、请求头、响应头、实体头和扩展头类。
浏览器:
浏览器基于客户端(web浏览区)和服务端(web服务器)的计算机模型,两者之间采用超文本传送协议(HTTP)进行通信, HTTP协议的作用原理是括四个步骤:连接,请求,应答,关闭。
步骤1:浏览器连接服务端
步骤2:请求:发送请求消息头和请求的数据体。
2.1浏览器通过socket向服务端发送请求。请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为:
GET
路径/文件名 HTTP/1.0 如:GET/myweb/demo.html HTTP/1.0
2.2浏览器发送的数据还包括请求消息头:请求消息头主要用于客户端在请求消息中向服务端传递附加信息。主要包括:客户端可以接受的数据类型,压缩方法,语言以及发送请求的超链接所属网页的URL地址等信息。
/*
请求消息头
GET/myweb/demo.html HTTP/1.0:请求行。
Accept:text/html,image/* 用于指定客户端希望接收哪些类型的信息;
Accept-Charset 用于指定客户端接收的字符集;
Accept-Encoding 指定可接收的内容编码,如gzip, deflate,先压缩,提高传输效率;
Accept-Language 用于指定客户端的语言;
Authorization 用于证明客户端有权限访问某个资源;
Host Internet要访问的服务器的主机和端口号,发送请求时必须指定该请求
User-Agent 允许客户端将自己的操作系统、浏览器等信息告诉给服务器,该请求不是必需的。
Range 用于指定返回请求内容的部分内容;
Referer 客户端向服务器发送该请求所属的网页的URL地址;
空格行————————-————————
要加一个空格,用于将请求消息头和请求的数据体。
*/
步骤3:应答:发送应答消息头和数据主体。
Web浏览器提交请求后,通过HTTP协议传送给Web服务器。 发送给客户端应答消息头。
应答消息头:http协议,Location,Server(如阿帕奇,last_modify(上次被修改的),ContentType等。
总结:连接,请求,应答。服务器返回浏览器的信息,没有消息头是因为浏览器在应用层,应用层使用http协议,该协议将消息头给解析了。
只显示用户可以看的信息,我们的软件在传输层。
原文地址:http://www.cnblogs.com/heimaprogramer/p/3773143.html