HTTP Headers 傻瓜教程[译]

来源:我想网 时间:2010-01-25 12:48:00 

本文系统的对HTTP Headers进行了简明易懂的阐述,我仅稍作笔记。

什么是HTTP Headers

HTTP是“Hypertext Transfer Protocol”的所写,整个万维网都在使用这种协议,几乎你在浏览器里看到的大部分内容都是通过http协议来传输的,比如这篇文章。

HTTP Headers是HTTP请求和相应的核心,它承载了关于客户端浏览器,请求页面,服务器等相关的信息。

示例

当你在浏览器地址栏里键入一个url,你的浏览器将会类似如下的http请求:
GET /tutorials/other/top-20-mysql-best-practices/ HTTP/1.1
Host: net.tutsplus.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: PHPSESSID=r2t5uvjq435r4q7ib3vtdjq120
Pragma: no-cache
Cache-Control: no-cache

第一行被称为“Request Line” 它描述的是这个请求的基本信息,剩下的就是HTTP headers了。

请求完成之后,你的浏览器可能会收到如下的HTTP响应:

HTTP/1.x 200 OK
Transfer-Encoding: chunked
Date: Sat, 28 Nov 2009 04:36:25 GMT
Server: LiteSpeed
Connection: close
X-Powered-By: W3 Total Cache/0.8
Pragma: public
Expires: Sat, 28 Nov 2009 05:36:25 GMT
Etag: "pub1259380237;gz"
Cache-Control: max-age=3600, public
Content-Type: text/html; charset=UTF-8
Last-Modified: Sat, 28 Nov 2009 03:50:37 GMT
X-Pingback: http://net.tutsplus.com/xmlrpc.php
Content-Encoding: gzip
Vary: Accept-Encoding, Cookie, User-Agent
<!-- ... rest of the html ... -->

第一行呢被称为“Status Line”,它之后就是http headers,空行完了就开始输出内容了(在这个案例中是一些html输出)。

但你查看页面源代码却不能看到HTTP headers,虽然它们同你能看到的东西一起被传送至浏览器了。

这个HTTP请求也发出了一些其它资源的接收请求,例如图片,css文件,js文件等等。

下面我们来看看细节。

怎样才能看到HTTP Headers

下面这些FireFox扩展能够帮助你分析HTTP headers:

1. firebug

2.Live HTTP Headers

3. 在PHP中:

  • getallheaders() 用来获取请求头部. 你也可以使用 $_SERVER 数组.

  • headers_list() 用来获取响应头部.

标签:http,headers,教程
0
投稿

猜你喜欢

  • Python实现获取视频时长功能

    2021-11-25 03:33:57
  • Python标准库calendar的使用方法

    2023-09-01 01:28:07
  • Python3+Pycharm+PyQt5环境搭建步骤图文详解

    2023-12-17 06:55:01
  • 如何判断用户是否非正常离开聊天室?

    2010-01-18 20:30:00
  • 使用Python中的greenlet包实现并发编程的入门教程

    2023-10-18 08:29:00
  • Python语法学习之正则表达式的量词汇总

    2023-07-20 03:08:59
  • Pycharm更换python解释器的方法

    2023-03-23 10:02:58
  • Go 互斥锁和读写互斥锁的实现

    2024-04-25 15:00:41
  • js字放大效果

    2010-09-07 12:18:00
  • 基于Bootstrap+jQuery.validate实现Form表单验证

    2024-05-13 09:06:57
  • Python实现测试磁盘性能的方法

    2022-01-31 19:00:46
  • python如何去除字符串中不想要的字符

    2022-01-05 20:37:46
  • MySQL修改默认字符集编码的方法

    2024-01-26 01:18:52
  • 基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)

    2024-04-16 08:49:09
  • 使用javascript+xml技术实现分页浏览

    2008-05-29 13:49:00
  • 基于Vue+Openlayer实现动态加载geojson的方法

    2024-04-27 16:12:22
  • mysql时间戳转成常用可读时间格式的两种方法

    2024-01-18 09:38:24
  • Golang中由零值和gob库特性引起BUG解析

    2024-05-08 10:52:52
  • 模型训练时GPU利用率太低的原因及解决

    2021-02-05 22:22:07
  • vue3无法使用jsx的问题及解决

    2024-04-30 10:46:17
  • asp之家 网络编程 m.aspxhome.com