本文介绍: HTTP(HyperText Transfer Protocol) :超文本传输协议。「HTTP 是用于互联网服务器传输文本本地浏览器协议」,这种说法正确吗?。因为也可以是「服务器服务器」,所以采用描述会更准确。

一、HTTP 是什么

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

HTTP 是一个计算机世界里专门在「两点」之间「传输文字图片音频视频等「超文本数据的「约定和规范」。

「HTTP 是用于互联网服务器传输超文本到本地浏览器协议」,这种说法正确吗?

正确。因为也可以是「服务器< — >服务器」,所以采用两点之间描述会更准确。

二、HTTP 常见状态

2beab038541344cca54cae1bb951472d.png

2xx成功 :

3xx重定向

301 和 302 都会在响应头里使用字段 Location,指明后续要跳转的 URL,浏览器自动重定向新的 URL。

4xx客户端错误

5xx服务器错误:

三、HTTP 常见字段

1.Host:www.example.com

客户端发送请求时,用于指定服务器的域名,可以将请求发往「同一台」服务器上的不同网站

2.Content-Length:1000

服务器返回数据时,表示本次回应的数据长度是 1000 个字节,后面的字节属于下一个回应。

(HTTP 基于 TCP 传输协议进行通信,而使用了 TCP 协议存在“粘包”问题,于是HTTP 协议通过设置回车符换行符作为 HTTP header边界通过 Content-Length 字段作为 HTTP body边界,来解决“粘包”问题。)

3.Connection:Keep-Alive

客户端发送请求时,用于保持连接,当客户发送另一个请求时,会使用同一个连接,一直持续客户端或服务器端提出断开连接

HTTP/1.1 版本默认连接都是长连接,但为了兼容版本的 HTTP,需要指定Connection:Keep-Alive 

注意:

HTTP Keep-Alive 和 TCP Keepalive并不相同

HTTP Keep-Alive:保持连接

TCP Keepalive检查连接是否有效

4.Content-Type: text/html; Charset=utf-8

服务器返回数据时,表示数据格式(这里表示发送网页编码是UTF-8)

5.Accept: */*

客户发送请求时,声明自己可接受的数据格式(这里表示可接受任何格式)

6.Content-Encodinggzip

服务器返回数据时,使用的数据压缩方法

7.Accept-Encoding: gzip, deflate

客户端发送请求时,声明自己可接受的压缩方法

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注