1.HTTP简介
首先http协议是超文本传输协议(英文:HyperText Transfer Protocol),是因特网上应用最为广泛的网络传输协议,是基于TCP/IP通讯协议来传递数据(HTML文件、图片、查询结果等)。
2.HTTP工作原理
HTTP工作于客户端-服务器端架构上,浏览器作为HTTP客户通过URL向WEB服务器发送请求。
三点注意事项:
- HTTP是无连接的:每次连接只处理一个请求,服务器处理完客户的请求,并受到客户的应答后,即断开连接;
- HTTP媒体独立:也就是说只要客户端和服务器端知道如何处理数据内容,任何类型的数据都可以通过HTTP发送,客户端及服务器端指定使用适合的MIME-type内容类型;
- HTTP是无状态的:即对于事务处理没有记忆能力。
补充:
CGI(common gateway interface)是HTTP服务器与其它及其上的程序进行交谈的一种工具,其程序运行在服务器上;
绝大多数的CGI程序被用来解释处理表单的输入信息,并在服务器上产生相应的处理,或将响应的信息反馈给浏览器,CGI程序是网页具有交互能力。
3.HTTP消息
3.1.HTTP请求
客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行,请求头,空行和请求数据。
实例:
客户端请求:
GET / HTTP/1.1 #第一行是http协议请求的主要部分,get代表请求的方法,/是请求的路径,HTTP/1.1 是请求的协议和版本。
#一下都是http请求的属性键值对
> Host: www.baidu.com
> User-Agent: insomnia/6.3.2
> Content-Type: application/json
> Accept: */*
> Content-Length: 12
3.2.HTTP响应
HTTP响应也是由四个部分组成,分别是:状态行、消息报头、空行和响应正文。
服务器端响应:
HTTP/1.1 200 OK #第一行是http协议响应的主要部分,HTTP/1.1 是请求的协议和版本,200 是响应码,代表成功响应,OK是响应消息。
#一下都是http响应的属性键值对
< Bdpagetype: 1
< Bdqid: 0xce0b0af3001cddf3
< Cache-Control: private
< Connection: keep-alive
< Content-Type: text/html
< Cxy_all: baidu+220572071ca5a9e61fce3a3ce3e51120
< Date: Thu, 09 Jan 2020 07:14:28 GMT
< Expires: Thu, 09 Jan 2020 07:14:18 GMT
< P3p: CP=" OTI DSP COR IVA OUR IND COM "
< P3p: CP=" OTI DSP COR IVA OUR IND COM "
< Server: BWS/1.1
* cookie size: name/val 7 + 37 bytes
* cookie size: name/val 7 + 27 bytes
* cookie size: name/val 7 + 10 bytes
* cookie size: name/val 4 + 1 bytes
* cookie size: name/val 6 + 10 bytes
ege:
4.HTTP请求方法
方法 | 描述 |
---|---|
GET | 指定请求的页面信息 |
POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件,数据包含在请求体中) |
PUT | 从客户端向服务器端传送数据取代指定的文档内容 |
DELETE | 请求服务器删除指定的页面 |
OPTIONS | 允许客户端查看服务器的性能 |
… | … |
5.HTTP响应码
200-299 代表成功响应
300-399代表请求转发
400-499代表客户端的错误
500-599代表服务器端的错误