代码改变世界

黑马程序员-浏览器原理

2014-06-06 18:11  黑马程序员*  阅读(283)  评论(0编辑  收藏  举报

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协议,该协议将消息头给解析了。

只显示用户可以看的信息,我们的软件在传输层。