php

HTTP 请求头里的一些含义

2023-11-20

http header 消息通常被分为4个部分:general header, request header, response header, entity header。

General

Request URL:请求url

Request Method:get

Status Code:请求状态

Remote Address:远程ip和端口号

Referrer Policy: origin 发送只包含 host 部分的 Referrer


Response Headers

accept-ranges: bytes头域可以请求实体的一个或者多个子范围

cache-control: max-age=86400 设置静态资源缓存时间

content-length: 43 获取文件大小

content-type: image/gif 返回内容的MIME类型

Content-Type: text/html; charset=utf-8

application/x-www-form-urlencoded 编码类型的发送和接收 中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)

multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式

application/json : JSON数据格式

date: Sat, 01 Jun 2019 07:42:51 GMT 原始服务器消息发出的时间

last-modified: Sun, 03 Feb 2013 07:03:36 GMT 请求资源的最后修改时间

server: Tengine web服务器软件名称

status:200 请求状态


Request Headers

同上

Accept: text/plain, text/html 指定客户端能够接收的内容类型

Accept-Charset: iso-8859-5 浏览器可以接受的字符编码集

Accept-Encoding: compress, gzip 指定浏览器可以支持的web服务器返回内容压缩编码类型。

Accept-Language: en,zh 浏览器可接受的语言

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== HTTP授权的授权证书

Cache-Control: no-cache 指定请求和响应遵循的缓存机制

Connection: close 表示是否需要持久连接。(HTTP 1.1默认进行持久连接)

Cookie: $Version=1; Skin=new; HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。

Host: www.aa.com 指定请求的服务器的域名和端口号

Pragma: no-cache 用来包含实现特定的指令

Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== 连接到代理的授权证书

Referer: http://www.aa.com/archives/71.html 先前网页的地址,当前请求网页紧随其后,即来路

User-Agent: Mozilla/5.0 (Linux; X11) User-Agent的内容包含发出请求的用户信息 一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识


注意的几个问题

如何使浏览器缓存静态资源的指定时间?

在respons header中设置

cache-control: max-age=86400


request中的content-type比较重要:

下面两个典型的post请求,内容分别如下:

name=longgege&age=26

和 {name:“longgege”, age: 26}


application/x-www-form-urlencoded 这是第一个的

application/json; charset=UTF-8; 这个是解析第二个的


301和302的区别

1、301是永久重定向

2、302是临时重定向


要做301重定向的原因:http://www.aa.com/html/105.html


1、集权。如果一个网站绑定带www和不带www两个域名,百度会认为这是两个不同的站点。这样不利于SEO优化,所以要做301集权,就可以有效避免权重分散。

2、网站换域名


PHP怎么做重定向:

header('HTTP/1.1 301 Moved Permanently');   

header('Location:http://www.'.$_SERVER['SERVER_NAME']); //301跳转到www   exit();