简介
HTTP是一种使用极为广泛的协议,之所以这么广泛,还是因为它采用了TCP/IP(注1)来传输数据。而且,HTTP采用了C/S模型(注2).
注1:TCP/IP是通信协议,它相较于HTTP协议更接近物理层.
注2:C/S模型是Client/Server模型的缩写.
Http初识
- HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的www文件都必须遵守这个标准;
- 基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等);
- HTTP是基于客户端/服务端(C/S)的架构模型
a.通过一个可靠的链接来交换信息;
b.无状态的请求/响应协议;
c.客户端(C)和服务器端(S),都是应用程序;
4.HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接;
HTTP直观
请求消息
GET /hello.txt HTTP/1.1
User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Host: www.example.com
Accept-Language: en, mi
回应消息
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: “34aa387-d-1568eb00”
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Content-Type: text/plain
输出结果:
Hello World! My payload includes a trailing CRLF.
Http浅析
序号 | 方法 | 描述 |
---|---|---|
1 | GET | 请求指定的页面信息,并返回实体主体。 |
2 | HEAD | 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头 |
3 | POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。 |
4 | PUT | |
5 | DELETE | |
6 | CONNECT | |
7 | OPTIONS | |
8 | TRACE | |
9 | PATCH |