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();