热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

http的方法,状态码和组成部分-

HTTP协议(HyperTextTransferProtocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
HttpHypertext Transfer Protocol

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

用于http协议交互的信息被称为http报文。请求端(客户端)的http报文叫做请求报文,响应端(服务器)的叫做响应报文。

请求报文由请求方法,请求URI,协议版本,首部字段(可选),内容实体(可选)构成

响应报文由协议版本,状态码,原因短语,首部字段(可选),实体主体构成

在每份报文中,请求URI,协议版本,状态码,原因短语,首部字段属于报文首部,然后空一行,剩下的是报文主体。

首部字段有4种:请求首部字段,响应首部字段,通用首部字段,实体首部字段,通用首部和实体首部为请求报文和响应报文都有的,而请求首部只有请求报文有,响应首部只有响应报文有。

报文是http通信中的基本单位,由8位组字节流组成,通过http通信传输。

实体作为请求和响应的有效载荷数据(补充项)被传输,其内容由实体首部和实体主体组成

一般情况下,报文主体等于实体主体。只有当传输中进行编码操作时,实体主体的内容发生变化,才会和报文主体不一致。

http1.0http1.1支持的方法

方法

说明

支持http协议的版本

GET

获取已被URI识别的资源

1.0,1.1

POST

传输实体主体

1.0,1.1

PUT

传输文件(不带验证机制)

1.0,1.1

HEAD

获得报文首部

1.0,1.1

DELETE

删除文件(不带验证机制)

1.0,1.1

OPTIONS

询问支持方法

1.1

TRACE

追踪路径

1.1

CONNECT

要求用隧道协议链接代理

1.1

LINK

建立和资源之间的联系

1.0

UNLINK

断开链接关系

1.0

http状态码

状态码

类别

原因短语

1XX

Informational(信息性状态码)

接收的请求正在处理

2XX

Success(成功状态码)

请求正常处理完毕

3XX

Redirection(重定向状态码)

需要进行附加操作以完成请求

4XX

Client Error(客户端错误状态码)

服务器无法处理请求

5XX

Server Error(服务器错误状态码)

服务器处理请求出错

14中常用的状态码

200 OK

表示客户端发来的请求在服务器端被正常处理了

204 No Content

表示服务器接收的请求已处理成功,但返回的响应报文不含实体主体部分

206 Partial Content

表示客户端进行了范围请求,而服务器成功执行了这部分的GET请求

301 Moved Permaently

永久性重定向,表示请求的资源已被分配了新的URI,以后应使用该资源现在所指的URI

302 Found

临时性重定向,表示请求的资源已被分配了新的URI,希望用户本次能使用新的URI访问

303 See Other

表示由于请求对应的资源存在着另一个URI,应使用GET方法定向获取请求的资源

304 Not Modified

表示客户端发送附带条件请求时,服务器端允许请求访问资源,但因发生请求为满足条件的情况后,直接返回304 Not Modified(服务器端资源为改变,可直接使用客户端未过期的主体部分)

307 Temporary Redirect

临时重定向,和302含义相同

400 Bad Request

表示请求报文中存在语法错误。服务器端无法识别请求

401 Unauthorized

表示发送的请求需要通过http认证的认证信息。若之前已进行过一次请求,则表示用户认证失败

403 Forbidden

表示请求资源的访问被服务器拒绝了。没有权限访问

404 Not Found

表示服务器无法找到请求的资源,即没有这个资源

500 Internal Server Error

表示服务器端在执行请求时发生了错误,也有可能是web应用存在bug或某些临时性故障

503 Service Unavailable

表示服务器暂时处于超负载或正在进行停机维护,现在无法处理请求

http通用首部字段

通用首部字段名

说明

Cache-Control

控制缓存的行为

Connection

管理逐跳首部和持久连接

Date

创建报文的日期时间

Pragma

报文指令

Trailer

报文末端的首部一览

Transfer-Encoding

指定报文主体的传输编码方式

Upgrade

升级为其他协议,检测是否可使用更高版本协议通信

Via

代理服务器的相关信息,追踪客户端和服务器之间的请求和响应报文的传输路径

Warning

错误通知,通常会告知用户一些与缓存相关的问题的警告

http1.1 警告码(Warning共七种)

警告码

警告内容

说明

110

Response is stale(响应已过期)

代理返回已过期的资源

111

Revalidation failed(再验证失败)

代理无法验证资源有效性时失败(服务器无法到达等原因)

112

Disconnection operation(断开链接操作)

代理与互联网链接被故意切断

113

Heuristic expiration(试探性过期)

响应的使用期超过24小时(有效缓存的设定时间大于24小时的情况下)

199

Miscellaneous warning(杂项警告)

任意警告的内容

214

Tansformation applied(使用了转换)

代理对内容编码或媒体类型等执行了某些处理时

299

Miscellaneous persistent warning(持久杂项警告)

任意的警告内容

http请求首部字段

请求首部字段

说明

Accept

用户代理可处理的媒体类型及媒体类型的相对优先级

Accept-Charset

优先的字符集,用户代理支持的字符集及相对优先顺序

Accept-Encoding

优先的内容编码,用户代理支持的内容编码及优先级顺序

Accept-Language

优先的语言,用户代理能处理的自然语言及自然语言集的相对优先级

Authorization

Web认证信息

Expect

期待服务器的特定行为

From

用户的电子邮件地址

Host

请求资源所在的服务器(主机名和端口号)

If-Match

和实体标记(ETag)比较,若相同则执行请求,否则返回412状态码

If-Modefied-Since

If-Modefied-Since字段值早于资源的更新时间,则希望处理该请求,否则返回304状态码

If-None-Match

比较实体标记(与If-Match想反)

If-Range

资源未更新时发送实体Byte的范围请求。若If-Range字段值和请求资源的ETag值或时间相一致时,则作为范围请求处理,否则返回全体资源

If-Unmodified-Since

比较资源的更新时间(与If-Modified-Since想反)

Max-Forwards

最大传输逐跳数(以十进制形式指定可经过的服务器的最大数目)

Proxy-Authorization

代理服务器要求客户端的认证信息

Range

实体的字节范围请求

Referer

对请求中URI的原始获取方(请求的原始资源的URI

TE

告知服务器客户端能处理响应的传输编码方式及相对优先级

User-Agent

http客户端程序的信息

http响应首部字段

响应首部字段

说明

Accept-Ranges

是否接受字节范围请求

Age

资源创建经过的时间,单位为秒

ETag

资源的匹配信息,能告知客户端实体标识

Location

令客户端重定向至指定URI

Proxy-Authenticate

代理服务器对客户端的认证信息

Retry-After

对再次发起请求的时机要求

Server

http服务器的安装信息

Vary

代理服务器缓存的管理信息

WWW-Authenicate

服务器对客户端的认证信息

http实体首部字段

实体首部字段

说明

Allow

资源可支持的http方法

Content-Encoding

实体适用的编码方式

Content-Language

实体的自然语言

Content-Length

实体的大小(单位为字节)

Content-Location

替代对应资源的URI

Content-MD5

实体主体的报文摘要

Content-Range

实体主体的位置范围

Content-Type

实体主体的媒体类型

Expires

实体主体过期的日期时间

Last-Modified

资源最后修改的日期时间

以上就是http的方法,状态码和组成部分 的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 本文介绍了《中秋夜作》的翻译及原文赏析,以及诗人当代钱钟书的背景和特点。通过对诗歌的解读,揭示了其中蕴含的情感和意境。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文描述了作者第一次参加比赛的经历和感受。作者是小学六年级时参加比赛的唯一选手,感到有些紧张。在比赛期间,作者与学长学姐一起用餐,在比赛题目中遇到了一些困难,但最终成功解决。作者还尝试了一款游戏,在回程的路上感到晕车。最终,作者以110分的成绩取得了省一会的资格,并坚定了继续学习的决心。 ... [详细]
  • 橱窗设计的表现手法及其应用
    本文介绍了橱窗设计的表现手法,包括直接展示、寓意与联想、夸张与幽默等。通过对商品的折、拉、叠、挂、堆等陈列技巧,橱窗设计能够充分展现商品的形态、质地、色彩、样式等特性。同时,寓意与联想可以通过象形形式或抽象几何道具来唤起消费者的联想与共鸣,创造出强烈的时代气息和视觉空间。合理的夸张和贴切的幽默能够明显夸大商品的美的因素,给人以新颖奇特的心理感受,引起人们的笑声和思考。通过这些表现手法,橱窗设计能够有效地传达商品的个性内涵,吸引消费者的注意力。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • faceu激萌变老特效的使用方法详解
    本文介绍了faceu激萌变老特效的使用方法,包括打开faceu激萌app、点击贴纸、选择热门贴纸中的变老特效,然后对准人脸进行拍摄,即可给照片添加变老特效。操作简单,适合新用户使用。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
author-avatar
也曾悲摧过_192
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有