php为什么要设置响应头

php为什么要设置响应头,第1张

您好,PHP设置响应头是为了指定浏览器如何处理服务器发送的内容。它可以指定浏览器如何渲染页面,指定浏览器如何处理cookie,指定浏览器如何处理缓存,指定浏览器如何处理文件下载,以及指定浏览器如何处理其他类型的内容。此外,响应头还可以指定服务器发送的内容的编码方式,以及指定服务器发送的内容的大小。因此,设置响应头是非常重要的,它可以帮助服务器和浏览器之间的通信更加顺畅。

1、HttpWebResponse类的属性

CharacterSet    获取响应的字符集。

ContentEncoding    获取用于对响应体进行编码的方法。

ContentLength   获取请求返回的内容的长度。 (重写 WebResponse..::.ContentLength。)

ContentType     获取响应的内容类型。 (重写 WebResponse..::.ContentType。)

Cookies     获取或设置与此响应关联的 Cookie。

Headers    获取来自服务器的与此响应关联的标头。 (重写 WebResponse..::.Headers。)

IsFromCache   获取一个 Boolean 值,该值指示此响应是否为从缓存中获取的。 (继承自 WebResponse。)

IsMutuallyAuthenticated 获取一个 Boolean 值,该值指示客户端和服务器是否都已经过身份验证。 (重写 WebResponse..::.IsMutuallyAuthenticated。)

LastModified     获取最后一次修改响应内容的日期和时间。

Method 获取用于返回响应的方法。

ProtocolVersion 获取响应中使用的 HTTP 协议的版本。

ResponseUri   获取响应请求的 Internet 资源的 URI。 (重写WebResponse..::.ResponseUri。)

Server  获取发送响应的服务器的名称。

StatusCode 获取响应的状态。

StatusDescription   获取与响应一起返回的状态说明。

使用示例

C# 代码   复制

static void Main(string[] args)

{

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.studyofnet.com")   //创建一个请求示例

HttpWebResponse response = (HttpWebResponse)request.GetResponse()

Console.WriteLine(response.CharacterSet)      //输出 utf-8

Console.WriteLine(response.ContentEncoding)   //空

Console.WriteLine(response.ContentLength)     //输出 10310

Console.WriteLine(response.ContentType)       //输出 text/html charset=utf-8

CookieCollection cc = response.Cookies

Console.WriteLine(cc.Count)       //输出 0

WebHeaderCollection whc = response.Headers

Console.WriteLine(whc.Count)      //输出 9

foreach (string h in whc.AllKeys)

{

Console.WriteLine(h.ToString() + " " + whc[h].ToString())     //输出所有的响应头信息

}

Console.WriteLine(response.IsFromCache)   //输出 false 该值指示响应是否从缓存获取的

Console.WriteLine(response.IsMutuallyAuthenticated)//输出 false 客户端和服务器端都已通过身份认证

Console.WriteLine(response.LastModified)  //输出 2013-04-06 21:03:06 最后一次修改响应的时间和日期

Console.WriteLine(response.Method)    //输出 Get 返回响应的方法

Console.WriteLine(response.ProtocolVersion)   //输出 1.1 响应的HTTP协议的版本

Console.WriteLine(response.ResponseUri)   //输出 http://www.studyofnet.com 响应请求的Interner资源的URI

Console.WriteLine(response.Server)//输出 BWS/1.0 发送响应的服务器的名称

Console.WriteLine(response.StatusCode)    //输出 OK 获取响应的状态,这个不是状态码,而是状态描述,为什么不是200呢,奇怪啊,测试了好几个网站都是OK,而不是200

Console.WriteLine(response.StatusDescription)     //输出 OK 这个是状态描述,

Console.ReadKey()

}

2、HttpWebResponse类的方法

Close 关闭响应流。 (重写 WebResponse..::.Close()()()。)

CreateObjRef  创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (继承自 MarshalByRefObject。)

Dispose   释放由 HttpWebResponse 使用的非托管资源,并可根据需要释放托管资源。

GetLifetimeService      检索控制此实例的生存期策略的当前生存期服务对象。 (继承自 MarshalByRefObject。)

GetObjectData      基础结构。 使用将目标对象序列化所需的数据填充 SerializationInfo。 (重写 WebResponse..::.GetObjectData(SerializationInfo, StreamingContext)。)

GetResponseHeader    获取与响应一起返回的标头的内容。

GetResponseStream    获取流,该流用于读取来自服务器的响应的体。 (重写 WebResponse..::.GetResponseStream()()()。)

InitializeLifetimeService 获取控制此实例的生存期策略的生存期服务对象。 (继承自 MarshalByRefObject。)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6586822.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-25
下一篇 2023-03-25

发表评论

登录后才能评论

评论列表(0条)

保存