有关Http的介绍

Http

http使用一种基于消息的模型。该协议基本不需要连接,虽然它使用有状态的TCP协议作为它的传输机制,但每次请求和响应都自动完成,并可能使用不同的TCP连接。

HTTP请求

例子:

GET http://e.firefoxchina.cn/js/mozMainScript-min.js?v=20180622v1 HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Referer: http://e.firefoxchina.cn/
Cookie: uid=38oGHFssb2k7Y4iqsUSiAg==
Connection: keep-alive
Host: e.firefoxchina.cn

每个http请求的第一行都由三个以空格间隔的项目组成。

一个说明http请求的方法的动词      所请求的url      使用的http版本

HTTP响应

例子:

HTTP/1.1 200 OK
Date: Wed, 18 Jul 2018 03:55:56 GMT
Expires: Thu, 13 Jul 2028 00:29:06 GMT
Server: nginx
Content-Type: application/x-javascript; charset=utf-8
Content-Length: 16746
Last-Modified: Fri, 29 Jun 2018 10:04:36 GMT
ETag: "5b360434-416a"
Cache-Control: max-age=315360000
Accept-Ranges: bytes
X-Via: 1.1 PSsxllwt4au29:3 (Cdn Cache Server V2.0), 1.1 xawt147:0 (Cdn Cache Server V2.0)
Connection: keep-alive
X-Dscp-Value: 0

每个响应的第一行由三个以空格间隔的项目组成:

使用的http版本      表示请求结果的数字码     一段文本表示的“原因短语”

HTTP方法

最常用的的两个方法:

GET:用于获取资源。它可以用URL查询字符串的形式向所请求的资源发送参数。

POST:主要作用是执行操作。

其他方法:

HEAD:功能与GET相似,不同在于服务器不会在其相应中返回消息主体,消息头与对应的GET请求相同。用于检查某一资源在GET请求前是否存在。

TRACE:用于诊断。服务器在返回主体中包含其请求主体中的内容。用于检测Client和SERVER之间是否存在代理。

OPTIONS:要求服务器报告对某一特殊资源的请求方法。服务器在响应中在Allow字段中列出。

PUT:这个方法试图使用请求主体中的内容向服务器上传资源。

URL

统一资源定位符,是Web资源的唯一标识符,通过它可以获取指定资源。标准格式:

protocol://hostname[:port]/[path/]file[?param=value]

REST

表述性状态转移(REST)是分布式系统的一种系统架构,在这类系统架构中,请求和响应包含系统资源当前状态的描述。

REST风格的URL指:在URL文件路径而不是查询字符串中。例如:包含查询字符串的URL:

http://www.aaa.com/search/?make=a&model=b

与下面这个REST风格的URL相对应:

http://www.aaa.com/search/a/b

HTTP方法

 

COOKIE

服务器使用cookie机制向客户端发送数据,客户端保存cookie并将其返回给服务器。服务器使用Set-Cookie响应消息头发布cookie;客户端自动将下面的消息加到随后返回给同一个服务器的请求中。cookie一般由一个名-值对构成,但也可以包括任何不叫空格的字符串。

Set-Cookie还可以包括以下属性,用它们控制浏览器处理cookie的形式。

状态码

分为以下5类:

1XX:提供信息

2XX:请求被成功提交

3XX:客户端被重定向到其他资源

4XX:请求包含某种错误

5XX:服务器执行请求时遇到错误

 

HTTP身份验证

HTTP有自己的用户身份验证方案:

Basic:它在请求消息头中随每条消息以Base64编码字符串的形式发送用户证书。

NTML:一种挑战-相应机制

Digest:一种挑战-相应机制。同用户证书一起使用一个MD5校验和。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值