http知识总结
layout: '''http'
title: 知识整理'
date: 2019-06-09 17:07:20
tags:
---
简介
超文本传输协议(HTTP)是用于传输诸如HTML的超媒体文档的应用层协议。它被设计用于Web浏览器和Web服务器之间的通信,但它也可以用于其他目的.HTTP是无状态协议,意味着服务器不会在两个请求之间保留任何数据(状态).
http 首部
HTTP 消息首部被用来描述资源信息,或是客户端和服务器的行为。
http 请求方法
HTTP 定义了一组请求方法, 以表明要对给定资源执行的操作。指示针对给定资源要执行的期望动作. 虽然他们也可以是名词,但这些请求方法有时被称为HTTP动词. 每一个请求方法都实现了不同的语义,
请求方法 | 说明 | 总结 |
---|---|---|
GET | GET方法请求一个指定资源的表示形式. 使用GET的请求应该只被用于获取数据 | 请求数据 (查) |
HEAD | HEAD方法请求一个与GET请求的响应相同的响应,但没有响应体 | 请求数据 木有响应体 |
POST | POST方法用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用 | 提交数据 (增,改) |
PUT | PUT方法用请求有效载荷替换目标资源的所有当前表示 | 和POST不同之处在于PUT是幂等的 |
OPTIONS | OPTIONS方法用于描述目标资源的通信选项。 | 询问浏览器支持哪些方法 |
DELETE | DELETE方法删除指定的资源。 | 删除数据 (删) |
CONNECT | CONNECT方法建立一个到由目标资源标识的服务器的隧道。 | 开启一个客户端与所请求资源之间的双向沟通的通道。 |
TRACE | TRACE方法沿着到目标资源的路径执行一个消息环回测试。 | 浏览器支持程度未知 |
PATCH | PATCH方法用于对资源应用部分修改。 | 修改数据 (改) 非幂等 |
## HTTP 状态返回码
- 信息响应
状态码 | 英文名称 | 说明 | 总结 |
---|---|---|---|
100 | Continue | 继续。客户端应继续其请求 | - |
101 | Switching Protocols | 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议 | 换协议 |
102 | Processing | 此代码表示服务器已收到并正在处理该请求,但没有响应可用。 | 朕知道了 |
103 | Early Hints | 此状态代码主要用于与Link 链接头一起使用,以允许用户代理在服务器仍在准备响应时开始预加载资源。 | 预加载 |
- 成功响应
状态码 | 英文名称 | 说明 | 总结 |
---|---|---|---|
200 | Ok | 请求成功。 | - |
201 | Created | 该请求已成功,并因此创建了一个新的资源。这通常是在PUT请求之后发送的响应。 | put成功 |
202 | Accepted | 请求已经接收到,但还未响应,没有结果。意味着不会有一个异步的响应去表明当前请求的结果,预期另外的进程和服务去处理请求,或者批处理。 | 朕知道了 |
203 | Non-Authoritative Information | 服务器已成功处理了请求,但返回的实体头部元信息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。 | 非授权信息。 |
204 | No Content | 服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档 | 用以前的 |
205 | Reset Content | 服务器成功处理了请求,且没有返回任何内容。但是与204响应不同,返回此状态码的响应要求请求者重置文档视图。 | 重置表单 |
206 | Partial Content | 服务器成功处理了部分 GET 请求 | 部分内容 |
- 重定向
状态码 | 英文名称 | 说明 | 总结 |
---|---|---|---|
300 | Multiple Choice | 请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 | 多种选择 |
301 | Moved Permanently | 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。 | 永久重定向 |
302 | Found | 请求的资源现在临时从不同的 URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。 | 临时重定向 |
303 | See Other | 对应当前请求的响应可以在另一个 URI 上被找到,而且客户端应当采用 GET 的方式访问那个资源。 | 查看其它地址 |
304 | Not Modified | 如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。304 响应禁止包含消息体,因此始终以消息头后的第一个空行结尾。 | 未修改 |
305 | Use Proxy | 被请求的资源必须通过指定的代理才能被访问。 | 这个api快凉了 |
306 | Unused | 已经被废弃的HTTP状态码 | 已经凉了 |
307 | Temporary Redirect | 临时重定向。与302类似。使用GET请求重定向 | 302了解一下 |
- 客户端响应
状态码 | 英文名称 | 说明 | 总结 |
---|---|---|---|
400 | Bad Request | 1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。2、请求参数有误。 | 服务器表示不懂你 |
401 | Unauthorized | 请求要求用户的身份认证 | 要认证的,兄die |
402 | Payment Required | 此响应码保留以便将来使用,创造此响应码的最初目的是用于数字支付系统,然而现在并未使用。 | 666 |
403 | Forbidden | 服务器已经理解请求,但是拒绝执行它。 | 朕知道了,但朕懒得理你 |
404 | Not Found | 请求失败,请求所希望得到的资源未被在服务器上发现 | 久仰久仰 |
405 | Method Not Allowed | 客户端请求中的方法被禁止。 | 方法不行呀 |
406 | Not Acceptable | 请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体。 | 臣妾做不到啊 |
407 | Proxy Authentication Required | 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权 | 请联系我的律师 |
408 | Request Timeout | 服务器等待客户端发送的请求时间过长,超时 | 等的花都谢了 |
409 | Conflict | 服务器完成客户端的PUT请求是可能返回此代码,服务器处理请求时发生了冲突 | 不好,有冲突 |
410 | Gone | 被请求的资源在服务器上已经不再可用,而且没有任何已知的转发地址。 | 死了这条心吧 |
411 | Length Required | 服务器拒绝在没有定义 Content-Length 头的情况下接受请求 | 没有Content-Length,不好意思,我们不认识 |
412 | Precondition Failed | 服务器在验证在请求的头字段中给出先决条件时,没能满足其中的一个或多个。 | 不过门槛 |
413 | Payload Too Large | 服务器拒绝处理当前请求,因为该请求提交的实体数据大小超过了服务器愿意或者能够处理的范围。 | 数据辣鸡,不处理 |
414 | Request-URI Too Large | 请求的URI过长(URI通常为网址),服务器无法处理。 | URI 辣鸡,不处理 |
415 | Unsupported Media Type | 对于当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式,因此请求被拒绝。。 | 不支持,不处理 |
416 | Requested Range Not Satisfiable | 如果请求中包含了 Range 请求头,并且 Range 中指定的任何数据范围都与当前资源的可用范围不重合,同时请求中又没有定义 If-Range 请求头,那么服务器就应当返回416状态码。 | 请求的范围无效 |
417 | Expectation Failed | 此响应代码意味着服务器无法满足Expect请求标头字段指示的期望值。 | 期望太高 |
418 | I'm a teapot | 服务器拒绝尝试用 “茶壶冲泡咖啡”。 | 我是茶壶,HTCPCP服务器是一个茶壶 |
- 服务端响应
状态码 | 英文名称 | 说明 | 总结 |
---|---|---|---|
500 | Internal Server Error | 服务器遇到了不知道如何处理的情况。 | 服务器懵逼 |
501 | Not Implemented | 此请求方法不被服务器支持且无法被处理。只有GET和HEAD是要求服务器支持的,它们必定不会返回此错误代码。 | 不支持 |
502 | Bad Gateway | 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应。 | 不是胶水啊,喂 |
503 | Service Unavailable | 常见原因是服务器因维护或重载而停机。 请注意,与此响应一起,应发送解释问题的用户友好页面。 | 请求太突然,服务器没有准备好处理请求 |
504 | Gateway Time-out | 充当网关或代理的服务器,未及时从远端服务器获取请求 | 网关的锅 |
505 | HTTP Version not supported | 服务器不支持请求的HTTP协议的版本,无法完成处理。 | http版本不支持 |
参考
http知识总结的更多相关文章
- 你必须知道的EF知识和经验
注意:以下内容如果没有特别申明,默认使用的EF6.0版本,code first模式. 推荐MiniProfiler插件 工欲善其事,必先利其器. 我们使用EF和在很大程度提高了开发速度,不过随之带来的 ...
- MySQL高级知识- MySQL的架构介绍
[TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...
- 学点HTTP知识
不学无术 又一次感觉到不学无术,被人一问Http知识尽然一点也没答上来,丢人丢到家了啊.平时也看许多的技术文章,为什么到了关键时刻就答不上来呢? 确实发现一个问题,光看是没有用的,需要实践.看别人说的 ...
- java中的字符串相关知识整理
字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...
- [C#] C# 知识回顾 - 你真的懂异常(Exception)吗?
你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介 ...
- [C#] C# 知识回顾 - 学会处理异常
学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...
- [C#] C# 知识回顾 - 学会使用异常
学会使用异常 在 C# 中,程序中在运行时出现的错误,会不断在程序中进行传播,这种机制称为“异常”. 异常通常由错误的代码引发,并由能够更正错误的代码进行 catch. 异常可由 .NET 的 CLR ...
- [C#] C# 知识回顾 - 异常介绍
异常介绍 我们平时在写程序时,无意中(或技术不够),而导致程序运行时出现意外(或异常),对于这个问题, C# 有专门的异常处理程序. 异常处理所涉及到的关键字有 try.catch 和 finally ...
- [.NET] C# 知识回顾 - Event 事件
C# 知识回顾 - Event 事件 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6060297.html 序 昨天,通过<C# 知识回顾 - ...
- [.NET] C# 知识回顾 - 事件入门
C# 知识回顾 - 事件入门 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6057301.html 序 之前通过<C# 知识回顾 - 委托 de ...
随机推荐
- APP测试流程梳理
APP测试流程梳理 1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试 ...
- python UI自动化之JS定位
1.话不多说,直接贴入代码 上面的 document.getElementById 可以替换成别的定位方式,比如: 通过name获取:document.getElementsByName 通过标签获取 ...
- Several ports (8005, 8080, 8009) required by Tomcat v8.5 Server at localhost are already in use.
Several ports (8005, 8080, 8009) required by Tomcat v8.5 Server at localhost are already in use. The ...
- nginx子配置文件实例
[root@bogon conf.d]# cat /etc/nginx/conf.d/test6.conf server { listen 8085; server_name 192.168.0.20 ...
- iOS发版出现“No iTunes Connect access for the team”的问题的解决方式
要发个新版本,结果发现,老是提示我“No iTunes Connect access for the team”,出现以下错误: 图1 错误提示: No accounts with iTunes ...
- 面向对象及os模块、socket模块
1.面向对象及面向过程 1)面向过程:核心过程二字,过程即解决问题的步骤,就是先干什么后干什么 基于该思想写程序就好比在这是一条流水线,是一种机械式的思维方式 优点:复杂的过程流程化 缺点:扩展性差 ...
- 实验仓 #779.【CSP2019模拟 Day 1】A题
题目传送门 考场上面做了一个暴力的做法,然后,然后他$WA$了. emmm...($T$就算了吧,$WA$了算什么事啊) 好吧,这道题,其实好像...是一道思维题来着. 如果出现了这样两个打X的格子上 ...
- linux 编程头文件搜索规则
包含头文件有两种写法,分别是:#include <stdio.h>#include "stdio.h" <>和""分别表示搜索位置的方式 ...
- MFC,QT与WinForm,WPF简介
编程语言的组成编程语言做为一种语言自然和英语这些自然语言有类似的地方.学英语时我们知道要先记26个字母,然后单词及其发音,接下来就是词组,句子.反正简单的说就是记单词,熟悉词法,句法.接下来就是应用了 ...
- c++ Convert struct to bytes
D:\stock\Tskingfromgoogle\src\NetTS\TW.cpp Convert struct to bytes //Convert struct to bytes 2019/0 ...