HTTP Headers 傻瓜教程[译](2)

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

文章下面将会看到一些使用php示范的例子。

HTTP Request 的结构

被称作“first line”的第一行包含三个部分:

  • “method” 表明这是何种类型的请求. 最常见的请求类型有 GET, POST 和 HEAD.

  • “path” 体现的是主机之后的路径. 例如,当你请求 “http://net.tutsplus.com/tutorials/other/top-20-mysql-best-practices/”时 , path 就会是 “/tutorials/other/top-20-mysql-best-practices/”.

  • “protocol” 包含有 “HTTP” 和版本号, 现代浏览器都会使用1.1.

剩下的部分每行都是一个“Name:Value”对。它们包含了各式各样关于请求和你浏览器的信息。例如”User-Agent“就表明了你浏览器版本和你所用的操作系统。”Accept-Encoding“会告诉服务器你的浏览可以接受类似gzip的压缩输出。

这些headers大部分都是可选的。HTTP 请求甚至可以被精简成这样子:

GET /tutorials/other/top-20-mysql-best-practices/ HTTP/1.1
Host: net.tutsplus.com

并且你仍旧可以从服务器收到有效的响应。

请求类型

三种最常见的请求类型是:GET,POST 和 HEAD ,从html的编写过程中你可能已经熟悉了前两种。

GET:获取一个文档

大部分被传输到浏览器的html,images,js,css, … 都是通过GET方法发出请求的。它是获取数据的主要方法。

例如,要获取Nettuts+ 的文章,http request的第一行通常看起来是这样的:

GET /tutorials/other/top-20-mysql-best-practices/ HTTP/1.1

一旦html加载完成,浏览器将会发送GET 请求去获取图片,就像下面这样:

GET /wp-content/themes/tuts_theme/images/header_bg_tall.png HTTP/1.1

表单也可以通过GET方法发送,下面是个例子:

<form action="foo.php" method="GET">
First Name: <input name="first_name" type="text" />
Last Name: <input name="last_name" type="text" />
<input name="action" type="submit" value="Submit" />
</form>

当这个表单被提交时,HTTP request 就会像这样:

GET /foo.php?first_name=John&last_name=Doe&action=Submit HTTP/1.1
...

你可以将表单输入通过附加进查询字符串的方式发送至服务器。

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

猜你喜欢

  • url传递中文的解决方案

    2007-10-09 20:17:00
  • python 的 scapy库,实现网卡收发包的例子

    2021-08-08 17:25:05
  • 用 python 进行微信好友信息分析

    2022-03-29 15:52:44
  • 用python画一只帅气的皮卡丘

    2023-08-10 09:18:13
  • MySQL时间盲注的五种延时方法实现

    2024-01-21 19:46:16
  • 基于Python编写一个中秋节嫦娥投食小游戏

    2022-12-27 10:46:34
  • SQL 经典语句

    2024-01-21 22:09:48
  • Pytorch 卷积中的 Input Shape用法

    2023-03-27 21:46:35
  • 解决Python报错问题[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE]

    2021-08-20 23:26:07
  • PHP使用JpGraph绘制折线图操作示例【附源码下载】

    2024-05-03 15:34:31
  • Python3.8 + Tkinter: Button设置image属性不显示的问题及解决方法

    2021-08-12 00:40:33
  • python 实现socket服务端并发的四种方式

    2022-08-09 22:19:46
  • Python编程产生非均匀随机数的几种方法代码分享

    2023-02-10 02:00:19
  • 从其他电脑访问本机的Mysql的设置方法

    2024-01-17 10:25:57
  • tensorflow 使用flags定义命令行参数的方法

    2021-03-20 10:43:23
  • python geopandas读取、创建shapefile文件的方法

    2022-09-23 16:57:19
  • python中py文件与pyc文件相互转换的方法实例

    2021-03-29 13:15:27
  • Django REST Framework之频率限制的使用

    2021-01-25 17:59:42
  • Python编程使用PyQt5库实现动态水波进度条示例

    2021-11-16 18:50:16
  • Pytorch 高效使用GPU的操作

    2021-10-25 04:45:23
  • asp之家 网络编程 m.aspxhome.com