HTTP协议

User-Agent

基础认证纯纯的初生,我不想说啥

 

我试了20多次了,真的麻

HTTP请求

消息结构

HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。一个HTTP"客户端"是一个应用程序(Web浏览器或其他任何客户端),通过连接到服务器达到向服务器发送一个或多个HTTP的请求的目的。一个HTTP"服务器"同样也是一个应用程序(通常是一个Web服务,如Apache Web服务器或IIS服务器等),通过接收客户端的请求并向客户端发送HTTP响应数据。HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。一旦建立连接后,数据消息就通过类似Internet邮件所使用的格式[RFC5322]和多用途Internet邮件扩展(MIME)[RFC2045]来传送。

请求方式/发包类型

GET:一个说明 HTTP 方法的动词。最常用的方法为 GET,它的主要作用是从 Web 服务器获取一个资源。GET 请求并没有消息主体,因此在消息头后的空白行中没有其他数据。所请求的 URL,通常由所请求的资源名称,以及一个包含客户端向该资源提交的参数的可选查询字符串组成。

端口之类

HTTP 的 URL 是由 http:// 起始与默认使用端口 80,而 HTTPS 的 URL 则是由 https:// 起始与默认使用端口443

ACCEPT&MIME

Accept 表示浏览器支持的 MIME 类型;

MIME 的英文全称是 Multipurpose Internet Mail Extensions(多功能 Internet 邮件扩充服务),它是一种多用途网际邮件扩充协议,在 1992 年最早应用于电子邮件系统,但后来也应用到浏览器。
常见的MIME类型(通用型):
超文本标记语言文本 .html text/html
xml文档 .xml text/xml
XHTML文档 .xhtml application/xhtml+xml
普通文本 .txt text/plain
RTF文本 .rtf application/rtf
PDF文档 .pdf application/pdf
Microsoft Word文件 .word application/msword
PNG图像 .png image/png
GIF图形 .gif image/gif
JPEG图形 .jpeg,.jpg image/jpeg
au声音文件 .au audio/basic
MIDI音乐文件 mid,.midi audio/midi,audio/x-midi
RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio
MPEG文件 .mpg,.mpeg video/mpeg
AVI文件 .avi video/x-msvideo
GZIP文件 .gz application/x-gzip
TAR文件 .tar application/x-tar
任意的二进制数据 application/octet-stream

host

Host 消息头用于指定出现在被访问的完整 URL 中的主机名称。如果几个 Web 站点以相同的一台服务器为主机.就需要使用 Host 消息头.因为请求第一行中的 URL 内通常并不包含主机名称

HTTP请求/例子

所有 HTTP 消息(请求与响应)中都包含一个或几个单行显示的消息头(header),然后是一个强制空白行,最后是消息主体(可选)。以下是一个典型的 HTTP 请求:

RefererReferer 消息头用于表示发出请求的原始 URL(例如,因为用户单击页面上的一个链接)。请注意,在最初的 HTTP 规范中,这个消息头存在拼写错误,并且这个错误一直保留了下来

User-AgentUser-Agent 消息头提供与浏览器或其他生成请求的客户端软件有关的信息。请注意,由于历史原因,大多数浏览器中都包含 Mozilla 前缀。这是因为最初占支配地位的 Netscape 浏览器使用了 User-Agent 字符串,而其他浏览器也希望让 Web 站点相信它们与这种标准兼容。与计算领域历史上的许多怪异现象一样,这种现象变得很普遍,即使当前版本的 Internet Explorer 也保留了这一做法,示例的请求即由 Internet Explorer 提出

X_FORWARDED_FOR 是用来识别通过 HTTP 代理或负载均衡方式连接到 Web 服务器的客户端最原始的 IP 地址的 HTTP 请求头字段

HTTP 拥有自己的用户身份验证机制,使用不同的身份验证方案。

Basic 这是一种非常简单的身份验证机制。它在请求消息头中随每条消息以 Base64 编码字符申的形式发送用户证书。

 NTLM WindowsNT 挑战/响应验证机制,称之为 NTLM。现在已经有了更新的 NTLMv2 以及 Kerberos 验证体系。NTLM 是 windows 早期安全协议,因向后兼容性而保留下来。
Digest 这是一种响应式机制,它随同用户证书一起使用一个随机值 MD5 校验和。

虽然组织内部经常使用这些身份验证协议访问内联网服务,但因特网上的 Web 应用程序基本

Expires 是 RFC 2616(HTTP/1.0)协议中和网页缓存相关字段。用来控制缓存的失效日期。

几乎所有的 HTTP 响应在消息头后的空白行下面都包含消息主体,Content-Type 消息头示这个消息主体中包含一个 HTML 文档。

Pragma

消息头指示浏览器不要将响应保存在缓存中。Expires 消息头指出响应内容已经过期.因此不应保存在缓存中。当返回动态内容时常常会发送这些指令,以确保浏览器随时获得最新内容

Server 消息头中包含一个旗标,指明所使用的 Web 服务器软件。有时还包括其他信息.如所安装的模块和服务器操作系统。其中包含的信息可能并不准确。

Set-Cookie 消息头向浏览器发送另一个 cookie.它将在随后向服务器发送的请求中由 Cookie 消息头返回。

常用消息头

Connection。这个消息头用于告诉通信的另一端.在完成 HTTP 传输后是关闭 TCP 连接,还是保持连接开放以接收其他消息。

Content-Encoding。这个消息头为消息主体中的内容指定编码形式(如 gzip ),一些应用程序使用它来压缩响应以加快传输速度。

Content-Length。这个消息头用于规定消息主体的字节长度。(HEAD 语法的响应例外.它在对应的 GET 请求的响应中指出主体的长度。

Content-Type。这个消息头用于规定消息主体的内容类型。例如,HTML 文档的内容类型为 text/html,

Transfer-Encoding。这个消息头指定为方便其通过 HTTP 传输而对消息主体使用的任何编码。如果使用这个消息头.通常用它指定了编码。

请求消息头

Accept。这个消息头用于告诉服务器客户端愿意接受哪些内容,如图像类型、办公文档格式等。(MIME)

Accept-Encoding。这个消息头用于告诉服务器.客户端愿意接受哪些内容编码

Authorization。这个消息头用于为一种内置 HTTP 身份验证向服务器提交证书


Cookie。这个消息头用于向服务器提交它以前发布的 cookie.

Host。这个消息头用于指定出现在所请求的完整 URL 中的主机名称

If-Modified-Since。这个消息头用于说明浏览器最后一次收到所请求的资源的时间。如果自那以后资源没有发生变化,服务器就会发出一个带状态码 304 的响应,指示客户端使用资源的缓存副本。(304跳转)

If-None-Match。这个消息头用于指定一个实体标签。实体标签是一个说明消息主体内容的标识符。当最后一次收到所请求的资源时.浏览器提交服务器发布的实体标签。服务器可以使用实体标签确定浏览器是否使用资源的缓存副本。

Origin。这个消息头用在跨域 Ajax 求中,用于指示提出请求的

Referer。这个消息头用于指示提出当前请求的原始 URL

User-Agent。这个消息头提供与浏览器或生成请求的其他客户端软件有关的信息

响应消息头

Access-Control-Allow-Origin.这个消息头用于指示可否通过跨域 Ajax 请求获取资源

Cache-Control。这个消息头用于向浏览器传送缓存指令(如 no-cache)。

ETag。这个消息头用于指定一个实体标签。客户端可在将来的请求中提交这个标识符。获得和 If-None-Match 消息头中相同的资源,通知服务器浏览器当前缓存中保存的是哪个版本的资源。

Expires。这个消息头用于向浏览器说明消息主体内容的有效时间。在这个时间之前,浏览器可以使用这个资源的缓存副本

Location。这个消息头用于在重定向响应(那些状态码以 3 开头的响应)中说明重定向的目标。

Pragma。这个消息头用于向浏览器传送缓存指令(如 no-cache).

Server。这个消息头提供所使用的 Web 服务器软件的相关信息

Set-Cookie。这个消息头用于向浏览器发布 cookie.浏览器会在随后的请求中将其返回给服务器

WWW-Authenticate。这个消息头用在带 401 状态码的响应中,提供与服务器所支持的身份验证类型有关的信息。

X-Frame-Options。这个消息头指示浏览器框架是否及如何加载当前响应。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值