HTTP协议小结,请求头,响应头用法

本文详细介绍了HTTP协议的工作原理,包括浏览器如何向服务器发送请求以及服务器如何响应这些请求。同时,还解释了请求头和响应头的具体内容及其作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、HTTP协议小结

        当浏览器和服务器进行交互的过程中,双方都必须遵循一个规则,这个规则就是HTTP协议。当用户有请求需求时,需要先给服务器发送请求,然后服务器接收客户端的请求并反馈响应,接着浏览器开始解析HTML中的代码并对页面进行渲染,最终呈现给用户,这就是浏览器的一个解析过程,其中最重要的便是请求与相应的环节。

    

    通过访问了一个网页获取的请求头和响应头为例,以下将对其一一进行说明

    ————————————————————————————

    下面是浏览器代表用户发出的请求

GET /xianjian6x/css/style.css HTTP/1.1   

此处为请求头,格式为:传输方式为get,资源路径为其服务器下/xianjian6x/css/style.css,采用HTTP1.1的协议版本

 

Accept: text/css         

此处表示服务器可以接受的类型为txt/css

 

Referer: http://pal6.changyou.com/home/   

此处表示用户从http://pal6.changyou.com/home/这个页面发出访问请求

 

Accept-Language: zh-CN    

此处表示浏览器所需要服务器给响应的语言是简体中文

 

User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)   

此处表示用户的浏览器类型

 

Accept-Encoding: gzip, deflate   

此处表示浏览器能进行的解码方式是gzip

 

Host: cyldimages.changyou.com    

此处表示初始化主机端口

 

If-Modified-Since: Wed, 08 Jul 2015 07:21:37 GMT  

此处用此请求头来对比服务器的文件,若时间一致,从缓冲中直接读取数据

 

If-None-Match: "12d8010-150a-51a57fd422240"    

If-None-Match需要和ETag 配合使用,首先If-None-Match和之前客户端给ETag(和缓冲相关的一个头)分配的编号进行匹配,如果一致,则表示缓冲没有改动,返回304的状态码。若不一致,则表示有改动,此时需重新获取请求的资源,并重新给ETag分配编号 

    

DNT: 1     

此请求头表示禁止追踪的意思。

 

Connection: Keep-Alive   

此处表示服务器需要持续连接


Cookie: 客户端通过这个头,可以带点数据给服务器

    ———————————————————————

    另外补充几个浏览该网页时未用到的请求头

Accept-Charset:     

此请求头示浏览器支持的字符集类型

Content-Type:       

此请求头表示内容类型

Content-Length:     

此请求头表示请求消息正文的长度  

DateDate: Mon, 22 Aug 2011 01:55:39 GMT    

此请求头表示请求时间GMT(格林威治时间)

——————————————————————————————————

    服务器反馈的响应如下

HTTP/1.0 304 Not Modified       

此处表示响应头,格式为:HTTP协议为1.0,状态码为304,处理方式是Not Modified表示没有更改,可以直接从缓存中调用

 

Date: Sat, 12 Sep 2015 11:38:29 GMT   

此处表示请求时间

Content-Type: text/css          

此处表示服务器相应的内容类型是text/css

 

Last-Modified: Wed, 08 Jul 2015 07:21:37 GMT   

此处表示上一次修改的时间

 

ETag: "12d8010-150a-51a57fd422240"    

此处表示给予缓冲一个唯一的编号。

 

X-Via: 1.0 huzhou85:8106 (Cdn Cache Server V2.0), 1.0 jy151:1 (Cdn Cache Server V2.0)

 

Connection: keep-alive    

此处表示服务器一直处于持续连接状态

    ————————————————————————————

 补充一些浏览该网页时未用到的响应头

Location:    

此响应头指定的新的资源访问地址,一般和302配合使用

Server:      

此响应头示服务器的类型

Content-Encoding: 

此响应表示服务器发送的数据采用的编码类型

Content-Length: 

此响应表示服务器发回的正文的长度

Content-Language: 

此响应表示服务发送的文本的语言

Refresh:           

此响应头表示服务器指示浏览器刷新频率。单位是秒

Content-Disposition:   

此响应头表示服务器告诉浏览器这个网页以下载的方式打开

Set-Cookie:             

此响应头服务器端发送的Cookie

Expires: 0 \ Cache-Control: no-cache \ Pragma: no-cache   

这三个响应头组合使用,可以让浏览器不要缓存数据   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值