http请求报文
请求报文分为请求行、首部行、实体体。 请求行
请求行有三个字段:请求方法字段、url字段和http版本字段。
首部行
首部行结构:首部字段名:值。
包括Host、Connection、User-agent、Accept-language等 host表示请求的主机,Concction表示是否持续为持续连接,User-agent用户代理,向服务器请求的浏览器类型,Accept-language,想得到的语法版本。
实体体
如果是get方法请求,则实体体为空,如果是post方法时,有实体体。
请求报文的例子:
GET http://150.158.178.239/ HTTP/1.1
User-Agent: PostmanRuntime/7.28.2
Accept: */*
Postman-Token: 0bbade72-7cc2-474f-990b-3107ac237fb0
Host: 150.158.178.239
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Type: multipart/form-data; boundary=--------------------------097764702882329013556020
Content-Length: 280
http响应报文
响应报文包含:状态行、首部行、实体体。
状态行
协议版本、状态码、响应的状态信息
首部行
结构:首部字段名:值
Connection:表示是否为长连接。 Date:表示服务器产生并发送该响应报文的日期和时间。 Server:服务器 Content-Length:表示被发送的对象的字节数。 Content-Type:返回对象的格式
实体体
包含了响应的内容data
常见的状态码:
- 200 ok :请求成功
- 301 moved permanently:请求对象已经被永久转移,此时,浏览器会保存,下次访问此地址,会直接跳转到目的地址。
- 400 bad request:请求不能被服务器理解
- 404 not found:被请求的文档不在服务器上
- 505 http version not found:服务器不支持请求报文使用的http协议版本。
响应报文示例
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Date: Fri, 06 Aug 2021 08:18:46 GMT
Content-Length: 1945
|