IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Http协议解析,新鲜出炉的Android面试真题集锦我给你们整理出来了 -> 正文阅读

[网络协议]Http协议解析,新鲜出炉的Android面试真题集锦我给你们整理出来了

但是服务器可以忽略此请求头,如果无条件GET包含Range请求头,响应会以状态码206(PartialContent)返回而不是以200(OK)。

User-Agent头域

User-Agent头域的内容包含发出请求的用户信息。

**3、响应消息

**响应消息的第一行为下面的格式:

**HTTP-Version SP Status-Code SP Reason-Phrase CRLF

HTTP-Version表示支持的HTTP版本**?,例如为HTTP/1.1。

Status-Code是一个三个数字的结果代码?。

Reason-Phrase给Status-Code提供一个简单的文本描述?。Status-Code主要用于机器自动识别,Reason-Phrase主要用于帮助用户理解。 Status-Code的第一个数字定义响应的类别,后两个数字没有分类的作用?。第一个数字可能取5个不同的值:

1xx:信息响应类,表示接收到请求并且继续处理

2xx:处理成功响应类,表示动作被成功接收、理解和接受

3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理

4xx:客户端错误,客户请求包含语法错误或者是不能正确执行

5xx:服务端错误,服务器不能正确执行一个正确的请求

响 应头域允许服务器传递不能放在状态行的附加信息,这些域主要描述服务器的信息和Request-URI进一步的信息。响应头域包含Age、 Location、Proxy-Authenticate、Public、Retry-After、Server、Vary、Warning、WWW- Authenticate。?对响应头域的扩展要求通讯双方都支持,如果存在不支持的响应头域,一般将会作为实体头域处理。

典型的响应消息:

HTTP/1.0200OK

Date:Mon,31Dec200104:25:57GMT

Server:Apache/1.3.14(Unix)

Content-type:text/html

Last-modified:Tue,17Apr200106:46:28GMT

Etag:“a030f020ac7c01:1e9f”

Content-length:39725426

Content-range:bytes554554-40279979/40279980

上例第一行表示HTTP服务端响应一个GET方法。棕色的部分表示响应头域的信息,绿色的部分表示通用头部分,红色的部分表示实体头域的信息。

Location响应头

Location响应头用于重定向接收者到一个新URI地址。

Server响应头

Server响应头包含处理请求的原始服务器的软件信息?。此域能包含多个产品标识和注释,产品标识一般按照重要性排序。

4、实体信息

请求消息和响应消息都可以包含实体信息, 实体信息一般由实体头域和实体组成。? 实 体头域包含关于实体的原信息,实体头包括Allow、Content-Base、Content-Encoding、Content-Language、 Content-Length、Content-Location、Content-MD5、Content-Range、Content-Type、 Etag、Expires、Last-Modified、extension-header?。extension-header允许客户端定义新的实体头,但是这些域可能无法未接受方识别。 实体可以是一个经过编码的字节流,它的编码方式由Content-Encoding或Content-Type定义,它的长度由Content-Length或Content-Range定义。

Content-Type实体头

Content-Type?实体头用于向接收方指示实体的介质类型?,指定HEAD方法送到接收方的实体介质类型,或GET方法发送的请求介质类型Content-Range实体头

Content-Range实体头

用于指定整个实体中的一部分的插入位置,他也指示了整个实体的长度?。在服务器向客户返回一个部分响应,它必须描述响应覆盖的范围和整个实体长度。一般格式:

Content-Range:bytes-unit SP first-byte-pos - last-byte-pos/entity-legth

例 如,传送头500个字节次字段的形式:Content-Range:bytes0-499/1234如果一个http消息包含此节(例如,对范围请求的响 应或对一系列范围的重叠请求),Content-Range表示传送的范围,Content-Length表示实际传送的字节数。

Last-modified实体头

Last-modified实体头指定服务器上保存内容的最后修订时间。

5、 HTTP 头参考(microsoft)

HTTP 请求和 HTTP 响应都使用头发送有关 HTTP 消息的信息。头由一系列行组成,每行都包含名称,然后依次是冒号、空格、值。字段可按任何顺序排列。某些头字段既能用于请求头也能用于响应头,而另一些头字段只能用于其中之一。

许 多请求头字段都允许客户端在值部分指定多个可接受的选项,有时甚至可以对这些选项的首选项进行排名。多个项以逗号分隔。例如,客户端可以发送包含 “Content-Encoding: gzip, compress,”的请求头,表示可以接受各种压缩类型。如果服务器的响应正文使用 gzip 编码,其响应头中将包含“Content-Encoding: gzip”。

有些字段可以在单个头中出现多次。例如,头可以有多个“Warning”字段。

下 表列出了 HTTP 1.1 头字段。注意:有些头字段是 MIME 字段。MIME 字段在 Internet Engineering Task Force (IETF) 文档 RFC 2045 中进行了定义,但也可用于 HTTP 1.1 协议。有关 MIME 和 HTTP 1.1 规范的详细信息,请参阅 IEIF 页。

一般头字段

一般头字段可用于请求消息和响应消息。

**名称          示例值

Cache-Control**?  “max-age=10”

Connection?    “close”

Date?          “Tue, 11 Jul 2000 18:23:51 GMT”

Pragma?        “no-cache”

Trailer?         “Date”

Transfer-Encoding?“chunked”

Upgrade?       “SHTTP/1.3”

Via?            “HTTP/1.1 Proxy1, HTTP/1.1 Proxy2”

Warning?       “112 Disconnected Operation”

请求头字段

请求头字段仅用于请求消息。

**名称             示例值

Accept**?           “text/html, image/*”

Accept-Charset?   “iso8859-5”

Accept-Encoding? “gzip, compress”

Accept-Language? “en, fr”

Authorization?     [credentials]

Content-Encoding? “gzip”

Expect?           “100-continue”

From?            " user@microsoft.com?"

Host?            " www.microsoft.com?"

If-Match?         “entity_tag001”

If-Modified-Since?“Tue, 11 Jul 2000 18:23:51 GMT”

If-None-Match?    “entity_tag001”

If-Range?         “entity_tag001” or “Tue, 11 Jul 2000 18:23:51 GMT”

If-Unmodified-Since?“Tue, 11 Jul 2000 18:23:51 GMT”

Max-Forwards?    “3”

Proxy-Authorization?[credentials]

Range?       “bytes=100-599”

Referer?      " http://www.microsoft.com/resources.asp?"

TE?          “trailers”

User-Agent?   “Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)”

**>>请求头字段的具体含义

Accept:**?浏览器可接受的MIME类型。

Accept-Charset:?浏览器可接受的字符集。

Accept-Encoding:?浏览器能够进行解码的数据编码方式,比如gzip。

Accept-Language:?浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。

Authorization?:授权信息,通常出现在对服务器发送的WWW-Authenticate头的应答中。

Connection:?表 示是否需要持久连接。如果Servlet看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。要实现这一点, Servlet需要在应答中发送一个Content-Length头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然 后在正式写出内容之前计算它的大小。

Content-Length?:表示请求消息正文的长度。

Cookie?:设置cookie,这是最重要的请求头信息之一

From:?请求发送者的email地址,由一些特殊的Web客户程序使用,浏览器不会用到它。

Host:?初始URL中的主机和端口。

If-Modified-Since?:只有当所请求的内容在指定的日期之后又经过修改才返回它,否则返回304“Not Modified”应答。

Pragma:?指定“no-cache”值表示服务器必须返回一个刷新后的文档,即使它是代理服务器而且已经有了页面的本地拷贝。

Referer:?包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。

User-Agent:?浏览器类型,如果Servlet返回的内容与浏览器类型有关则该值非常有用。

UA-Pixels,UA-Color,UA-OS,UA-CPU:?由某些版本的IE浏览器所发送的非标准的请求头,表示屏幕大小、颜色深度、操作系统和CPU类型。

响应头字段

响应头字段仅用于响应消息。

**名称          示例值

Accept-Ranges**?  “none”

Age?            “2147483648(2^31)”

ETag?           “b38b9-17dd-367c5dcd”

Last-Modified?    “Tue, 11 Jul 2000 18:23:51 GMT”

Location?        " http://localhost/redirecttarget.asp?"

Proxy-Authenticate?[challenge]

Retry-After?      “Tue, 11 Jul 2000 18:23:51 GMT” or “60”

Server?         “Microsoft-IIS/5
.0”

Vary?            “Date”

WWW-Authenticate?[challenge]

实体头字段

实体头字段可以用于请求消息或响应消息。实体头字段中包含消息实体正文的有关信息,如使用的编码格式。

名称            示例值

Allow?              “GET, HEAD”

Content-Encoding?   “gzip”

Content-Language?  “en”

Content-Length?     “8445”

Content-Location?   " http://localhost/page.asp?"

Content-MD5?       [md5-digest]

Content-Range?     “bytes 2543-4532/7898”

Content-Type?      “text/html”

Expires?           “Tue, 11 Jul 2000 18:23:51 GMT”

Last-Modified?      “Tue, 11 Jul 2000 18:23:51 GMT”

**>>实体头字段的具体含义

Allow**?服务器支持哪些请求方法(如GET、POST等)。

Content-Encoding?文 档的编码(Encode)方法。只有在解码之后才可以得到Content-Type头指定的内容类型。利用gzip压缩文档能够显著地减少HTML文档的 下载时间。Java的GZIPOutputStream可以很方便地进行gzip压缩,但只有Unix上的Netscape和Windows上的IE 4、IE 5才支持它。

Content-Length?表示内容长度。只有当浏览器使用持久HTTP连接时才需要这个数据。

Content-Type?表示后面的文档属于什么MIME类型。Servlet默认为text/plain,但通常需要显式地指定为text/html。

Date?当前的GMT时间。你可以用setDateHeader来设置这个头以避免转换时间格式的麻烦。

Expires?应该在什么时候认为文档已经过期,从而不再缓存它?

Last-Modified?文档的最后改动时间。客户可以通过If-Modified-Since请求头提供一个日期,该请求将被视为一个条件GET,只有改动时间迟于指定时间的文档才会返回,否则返回一个304(Not Modified)状态。

Location?表示客户应当到哪里去提取文档。Location通常不是直接设置的,而是通过HttpServletResponse的sendRedirect方法,该方法同时设置状态代码为302。

Refresh?表示浏览器应该在多少时间之后刷新文档,以秒计。除了刷新当前文档之外,你还可以通过setHeader(“Refresh”, “5; URL=http://host/path”)让浏览器读取指定的页面。

注 意这种功能通常是通过设置HTML页面HEAD区的<META. HTTP-EQUIV=“Refresh” C>实现,这是因为,自动刷新或重定向对于那些不能使用CGI或Servlet的HTML编写者十分重要。但是,对于Servlet来说,直接设置 Refresh头更加方便。

注意Refresh的意义是“N秒之后刷新本页面或访问指定页面”,而不是“每隔N秒刷新本页面或访问指定页面 ”。因此,连续刷新要求每次都发送一个Refresh头,而发送204状态代码则可以阻止浏览器继续刷新,不管是使用Refresh头还是<META. HTTP-EQUIV=“Refresh” …>。

注意Refresh头不属于HTTP 1.1正式规范的一部分,而是一个扩展,但Netscape和IE都支持它。

请求头示例

以下是 HTTP 请求的简单示例。

GET /articles/news/today.asp HTTP/1.1

Accept: */*

Accept-Language: en-us

Connection: Keep-Alive

Host: localhost

Referer: http://localhost/links.asp

User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)

Accept-Encoding: gzip, deflate

GET /articles/news/today.asp HTTP/1.1

Accept: */*

Accept-Language: en-us

Connection: Keep-Alive

Host: localhost

Referer: http://localhost/links.asp

User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)

Accept-Encoding: gzip, deflate

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-02-03 01:28:02  更:2022-02-03 01:28:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:21:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码