HTTP协议详解

来源:互联网 发布:大数据时代有什么用 编辑:程序博客网 时间:2024/04/20 13:09
HTTP详解1:
1.了解HTTP
2.请求行与状态行
3.通用信息头
4.请求头
5.响应头
6.实体头
7.扩展头


1.了解HTTP
1.1.HTTP简介
1.2.HTTP1.0的会话方式
1.3.HTTP1.1与HTTP1.0的比较
1.4.HTTP消息的格式
1.5.HTTP的消息头

1.1 HTTP简介
@ 用于定义web浏览器与web服务器之间交换数据的过程以及数据本身的格式。
@ HTTP协议的版本
http1.0、1.1、NG

1.2.HTTP1.0的会话方式
四个步骤:
建立连接
发出请求信息
回送响应信息
关闭连接
浏览器和WEB服务器的连接过程是短暂的。每次连接只处理一个请求和响应,对每一个页面的访问,浏览器与web服务器都要建立一次单独的连接。
所有通讯都是完全独立分开的请求和响应对。
支持代理
代理服务器会存储缓存

浏览器访问多图网页的过程。
1.针对网页请求;
2.在浏览器解析过程中,通过url地址,再次发出下载图像地址的请求。

1.3.HTTP1.1与HTTP1.0的比较
在一个TCP连接上可以传送多个HTTP请求和响应。
多个请求和响应过程可以重叠进行。
建立连接
发出第1次请求
发出第N次请求
回送第1次响应
回送第N次响应
发出关闭连接请求
关闭连接
keep-alive
增加了更多的请求头和响应头。

1.4.HTTP请求消息
请求消息的结构:
一个请求行,若干消息头,以及实体内容,其中消息头和实体内容都是可选的,消息头和实体内容之家你要用空行隔开。
举例:
GET /books/java.html HTTP/1.1                        请求行
Accept:*/*                                           消息头
Accept-language:en-us                                消息头
Connection:Keep-Alive                                消息头
Host:localhost                                       消息头
Referer:http://localhost/links.asp                   消息头
User-Agent:Mozilla/4.0                               消息头
Accept-Encoding:gzip,deflate                         消息头
                                                     空行
GET方式的实体行为空,只有POST等方法才有实体行

1.5.HTTP响应消息
就是服务器回送给浏览器的消息
响应消息的结构:与请求消息一样,包括一个状态行,若干消息行,以及实体内容。
举例:
HTTP/1.1 200 OK                                      状态行
Server:Microsoft-IIS、5.0                            消息行
Date:Thu, 13 Jul 2000 05:46:53 GMT                   消息行
Content-Length:2291                                  消息行
Content-Type:text/html                               消息行
Cache-control:private                                消息行
                                                     空行
<HTML>                                               实体行
<BODY>                                               实体行

1.6.HTTP消息 其他消息
@ 响应消息的实体内容就是网页文件的内容,也就是在浏览器中使用查看源文件的凡是看到的内容
@ 一个使用GET方式的请求消息中不能包含实体内容,只有使用POST、PUT和DELETE方式的请求消息中才可以包含实体内容。
@ 对于HTTP1.1来说,如果HTTP消息中包含实体内容,且没有采用chunked传输编码方式,那么消息头部分必须包含内容长度的字段,否则,客户和服务程序就无法知道实体内容何时结束。
@ 在HTTP协议中,还可以使用简单的请求消息和响应消息,他们都没有消息头部分。简单的请求消息中能用于GET方式,且请求行中不用指定HTTP版本号。对于简单的请求消息,服务器返回简单的响应消息,简单的响应消息中只返回实体内容。

1.7.HTTP消息头
@ 使用消息头,可以实现HTTP客户机与服务器之间的条件请求和应答。
消息头相当于服务器与浏览器之间的一些暗号指令。
@ 每个消息头包含一个头字段名称,然后依次是冒号、空格、值、回车和换行符。
举例:Accept-Language: en-us
@ 消息头字段名是不区分大小写的,但习惯上将每个单词的第一个字母大写。
@ 消息头又可以分为通用消息头、请求头、响应头、实体头等四类。
@ 许多请求头字段都允许客户端在值部分指定多个可接受的选项,多个项之间以逗号分隔。
举例:Accept-Encoding:gzip, compress
@ 有些头字段可以出现多次,例如:响应消息中可以包含有多个“Warning”头字段。
原创粉丝点击