HTTP协议(笔记版)

1.什么是HTTP?

HTTP:超文本传输协议(Hypertext Transfer Protocol)。

作用:浏览器和网站服务器(web服务)、服务器与服务器之间、手机APP与服务器之间传输超文本(网站、视频、图片)等信息的。

版本:0.9  1.0   1.1   2.0  目前使用的最广泛的,服务器往往支持的是1.1版本

2.HTTP的格式

1.请求报文

什么是请求报文?

请求报文:客户端发送一个HTTP请求到服务器的请求消息。

请求报文由请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。

1.请求行

请求行:以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本。

例如:请求行的格式往往是固定的(如图所示是最经典的两种请求行格式),GET和POST表示请求的方法,xiaowu/cainiao.html表示需要访问的网站地址  HTTP/1.1 表示使用的http协议版本是什么。

GET /xiaowu/cainiao.html HTTP/1.1
POST /xiaowu/cainiao.heml HTTP/1.1

另外除了,GET和POST之外,还有PUT和DELETE。

GET 表示从服务器获取资源信息,可以获取网页、图片、用户信息数据等。

POST 表示提交、添加资源信息到服务器处理,提交表单、上传文件、添加用户信息、上传图片数据到服务器等。

PUT表示更新资源信息

DELETE表示删除资源信息

2.请求头

请求头:第一行下面的内容,里面存放了一些信息。

例如:

HOST:www.xiaowu.com
#表示存放请求端存放的域名是什么


User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
#表示存放客户端的类型是什么等等。

3.空行

空行:言简意赅,需要一个空行,用来分隔请求头和下面的部分(请求体)。

为什么要分隔?

因为请求头的内容不固定,有时很多、有时很少,如此分隔便可告诉端口,下面不再是请求头内容。

可以不分隔吗?

不可以,这是HTTP协议规定好的。

4.请求体

请求体:用来专门存放数据信息,即数据封装再请求体中,但不是每个HTTP请求都是需要请求体。
为什么请求体是非必要内容?
通常GET请求就没有请求体,因为GET请求就是获取信息,所以不需要提供请求体,只需要获取信息即可。但是POST、PUT请求往往需要添加请求体。

2.响应报文

什么是响应报文?

响应报文:服务器接收并处理客户端发过来的请求后会返回一个HTTP的响应消息。

响应报文也由四个部分组成,分别是:响应行、响应头、空行和响应体。

1.响应行

响应行:格式与请求行类似,由空格分隔,HTTP协议版本号、状态码、状态消息三部分组成。

例如:HTTP/1.1 表示HTTP协议版本号,200即为状态码, OK即表示状态消息处理结果成功。

HTTP/1.1 200 OK

2.响应头

响应头:说明客户端要使用的一些附加信息。

例如:Date表示生成响应的日期时间等,Content-Type表示指定MIME类型的HTML,编码类型是UTF-8

Date: Thu, 19 Sep 2019 08:08:27 GMT
Content-Type: text/html;charset=utf-8

3.空格

空格:用来分隔消息报头和下面的部分(响应体)。

4.响应体

响应体:服务器返回给客户端的文本信息,位于空格后面的那些html部分。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值