LOADING...

加载过慢请开启缓存(浏览器默认开启)

loading

前端计算机网络部分

2022/4/14 前端

http报文结构

http请求报文由三部分组成:请求行、请求头、请求正文,请求头与请求正文由CRLF(回车换行)分割开来,请求正文有可能为空或包含CRLF,因此不能通过一个CRLF与请求头区分开来,故用两个来分隔请求头和请求正文。

  • 请求行

格式为:Method Request-URI HTTP-version CRLF

请求方式:GET、POST、HEAD、OPTIONS、PUT、DELETE、TRACE、CONNECT;

  • 请求头

请求头一般为键值对:

User-Agent:PostmanRuntime/7.26.8 表示产生请求的客户端程序

Accept:/ 表示可接受的响应的类型为全部类型

Accept-Language:zh 表示可接受的响应的语言为中文

Accept-Encoding:gzip 表示客户端请求的压缩方式

Cookie:value 值由登陆之后服务端下发

token:value 值由登陆之后服务端下发

  • 请求正文

http响应报文同样是三部分组成:响应行、响应头、响应正文。

  • 响应行(状态行)

格式为:HTTP-version Status-code Reason-phrase CRLF

Status-code 响应状态码 Reason-phrase 状态码文本描述

状态码由三位数字组成,第一个数字表示响应类别

1xx:指示消息——请求已被接收,继续处理;

2xx:成功——请求成功接收;

3xx:重定向——要完成请求必须进行进一步操作;

4xx:客户端错误——请求语法有错误或请求无法实现;

5xx:服务器错误——服务器未能实现合法的请求;

常见错误码:

200 ok 成功;

301 moved permanently 请求永久重定向

302 moved temporarily 请求临时重定向

304 not modified 文件未修改,可以直接使用缓存文件

400 bad request 客户端语法错误,服务器不理解

401 unauthorized 请求未经授权,状态码要和报头域WWW-Authenticate一起使用

403 forbidden 服务器收到请求,但是拒绝提供服务

404 not found 请求资源不存在

500 internal server error 服务器发生不可预期的错误

503 server unavailable 服务器当前不能处理客户端请求,一段时间后可能恢复正常

http头部关于缓存的字段

Expries:响应头,代表资源的过期时间

Cache-Control:请求/响应头。控制缓存字段,精确控制缓存策略;

If-Modified-Since:请求头,资源最近修改时间,由浏览器告诉服务器;

Last-Modified:响应头,资源最近修改时间,由服务器告诉浏览器;

Etag:响应头,资源标识,由服务器告诉浏览器;

If-None-Match:请求头,缓存资源标识,由浏览器告诉服务器;

强缓存:Expires(HTTP/1.0)、Cache-Control(HTTP/1.1)

协商缓存:Last-Modified和If-Modified-Since(HTTP/1.0);ETag和If-None-Match(HTTP/1.1)