HTTP 报文结构

1、HTTP报文结构

1.1、请求报文

即从客户端(浏览器)向Web服务器发送请求报文。报文的所有字段都是ASCII码。

在这里插入图片描述

实例:

GET /js/an.js HTTP/1.1				#请求行
Accept: */*							#可接受的媒体类型
Accept-Encoding: gzip, deflate		#可接受的编码
Accept-L anguage: zh-cn				#接受的语言
Connection: Keep-Alive				#持久连接
Host: cache.soso.com				#Host
Referer: http://help.soso.com/	    #引用 页面
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; InfoPath.2) #用户代理

1.2、响应报文

即从Web服务器到客户机(浏览器)的应答。报文的所有字段都是ASCII码。

在这里插入图片描述

实例:

HTTP/1.1200 OK                                               #状态行.
Accept-Ranges: bytes										 #表示服务器端可以接受range请求
Cache-Control: max -age=86400					 			 #缓存控制时间
Content-Encoding: gzip										 #内容编码格式
Content-L ength: 1088									   	 #内容长度
Content-Type: text/javascript							  	 #内容类型
Date: Thu, 18 Jun 2009 15:47:14 GMT            				 #时间
ETag:“1902284250“										 	 #实体标签
Expires: Fri, 19 Jun 2009 15:47:14 GMT         				 #过期时间
L ast-Modified: Fri, 10 Oct 2008 04:13:19 GMT    			 #最后修改日期
Server: WS CDN Server										 #Server名称
Vary: Accept-Encoding										 #告知该响应缓存时取决的方式

1.3、请求报文中的一些方法

方法(Method)是所请求对象所进行的操作,也就是一些命令。请求报文中的操作有:

方法(操作) 含义
GET 请求读取一个页面
POST 附加一个命名资源(如Web页面)
HEAD 请求读取一个Web页面的首部
PUT 请求存储一个Web页面
DELETE 删除Web页面
TRACE 用于测试,要求服务器送回收到的请求
CONNECT 用于代理服务器
OPTION 查询特定选项

1.4、响应报文中的状态码

状态码(Status-code)是响应报文状态行中包含的以三位数字,指明特定的要求是否被满足,如果没有满足,原因是什么。状态码分为一下的五类:

状态码 含义 例子
1xx 通知信息 100=服务器正在处理客户请求
2xx 成功 200=请求成功
3xx 重定向 301=页面改变了位置
4xx 客户端错误 403=禁止的页面;401=页面未找到
5xx 服务器错误 500=服务器内部错误;503=以后再试

常见的状态码:
➢200 OK
➢206 Partial Content
➢301 Moved Permanently
➢302 Found
➢304 Not Modified
➢400 Bad Request
➢403 Forbidden
➢404 Not Found
➢502 Bad Gateway
➢503 Service Unavailable
➢504 Gateway Timeout

1.5、首部字段或消息头

头(header) 类型 说明
User- Agent 请求 关于浏览器和它平台的信息,如Moilla5.0
Accept 请求 客户能处理的页面的类型,如text/html
Accept-Charset 请求 客户可以接受的字符集,如Unicode-1-1
Accept-Encoding 请求 客户能处理的页面编码方法,如gzip
Accept-Language 请求 客户能处理的自然语言,如en(英语),zh- cn(简体中文)
Host 请求 服务器的DNS名称。从URL中提取出来,必需。
Authorization 请求 客户的信息凭据列表
Cookie 请求 将以前设置的Cookie送回服务器器,可用来作为会话信息
Date 双向 消息被发送时的日期和时间
Server 响应 关于服务器的信息,如Microsoft IS/6.0
Content-Encoding 响应 内容是如何被编码的(如gzip)
Content-Language 响应 页面所使用的自然语言
Content-Length 响应 以字节计算的页面长度
Content-Type 响应 页面的MIIME类型
Last-Modified 响应 页面最后被修改的时间和日期,在页面缓存机制中意义重大
Location 响应 指示客户将请求发送给别处,即重定向到另个URL
Set-Cookie 响应 服务器希望客户保存一个Cookie

2、HTTP代理

2.1、什么是HTTP用户代理?

HTTP代理又称Web缓存或代理服务器(Proxy Server),是一种网络实体, 能代表浏览器发出HTTP请求,并将最近的一些请求和响应暂 存在本地磁盘中,当请求的Web页面先前暂存过,则直接将暂存的页面发给客户端(浏览器),无须再次访问Internet。

2.2、使用HTTP代理的Web访问过程

在这里插入图片描述

//网络素材仅限收藏 方便学习

posted @ 2021-07-20 10:27  New_HackerHK  阅读(99)  评论(0编辑  收藏  举报