可以通过自定义请求头信息的方式,从而使得服务器能够更加灵活地处理各类请求。比如判断是不是ajax请求,携带服务器错误代码号来寻找bug等等,具体的使用还要看业务逻辑。
而且,请求头有些信息是不可修改的,如Referer。
简单实验:
前端:

<html><head>
	<title>testtitle>head><body><script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js">script><script type="text/javascript">

	//设置请求头信息,同时获取响应头信息
	$.ajax({
		//设置请求头信息——方法一
		headers: {
			"token1": "xxxx1"
		},
		//设置请求头信息——方法二
		// beforeSend: function (request) {
	 //        request.setRequestHeader("token1", "xxxx2");//设置请求头信息
	 //    },
		url:'test.php',
		type:'POST',
		data:{},
		dataType:'json',
		success:function(data){
			console.log(data);
		},
		error:function(err){
			console.log(err)
		},
		complete:function(xhr, data){
			console.log(xhr, data);//通过打印可以进一步了解详细信息从而进行下一步操作
			var time=xhr.getResponseHeader('Date');// 服务器端时间
			var list = xhr.getAllResponseHeaders();//获取头部全部信息
			console.log(time, list);
		}
	})script>body>html>

后端:

<?php  header('Content-type: application/html');//自定义响应头信息header("is_get:yes");//自定义响应头信息$res = 100;$text = "OK";$data = null;die(json_encode(array("res"=>$res,"text"=>$text,"data"=>$data)));//返回数据?>

请求头自定义的信息:
jq  自定义请求头信息_jq

响应头自定义的信息:
jq  自定义请求头信息_jq_02