Something of HTTP
学习发现所需且所欠知识:
参考: 1、一堆博客 2、HTTP图解(链接奉上,自取)提取码: n6jq
- http简介
- http返回状态码
- http方法(点击查看)
- http 头部
1、http简介
1、基于TCP/IP通信协议进行的数据传输的协议(此处先占坑,改日详解TCP/IP)
2、作用于OSI中的应用层(此处占坑2,改日详解OSI)
3、灵活、无状态、无连接(此处占坑3,改日详解cookie)
2、http 状态码
1、状态码分类
| 分类 | 具体含义 |
| 1xx | 信息,服务器收到请求,请求方应继续操作 |
|
2xx |
请求被成功接受并被处理 |
| 3xx | 重定向,需进一步处理 |
| 4xx | 客户端方出现错误,服务器无法执行或拒绝执行请求 |
| 5xx | 服务器错误,无法完成请求 |
2、各类型的具体情况
| 1xx类 | 具体含义 |
| 100 | 没毛病,正在进行且继续进行 |
| 101 | 请求的头部有让服务器更新协议的请求,被服务器理解且愿意服从,,故,此时会返回一个正常切换信息的消息 |
| 2xx 类 | 具体含义 |
| 200 | OK,请求成功 |
| 201 | Create 请求完成,并且创建了新的资源 |
| 202 | Accept 请求完成,还没有完成处理 |
| 203 | Non-Authoritative Information 不懂,,不理解 |
| 204 | No Content 表示请求成功,但是不用更新当前的页面,通常PUT请求被成功接受并处理资源更新,但是不需要客户端进行页面更新 |
| 205 | Reset Content 通知客户端重置页面,比如清空form,刷新页面等。 |
| 4xx类 | 具体含义 |
| 400 | Bad Request 服务器读不懂客户端什么意思,可能语法错误, |
| 401 | Unauthorized 需要进行身份认证 |
| 402 | payment required 暂时没毛用,以后再说 |
| 403 | Forbidden 接受请求,但具体执行 |
| 404 | Not Found 服务器没有找到相应的资源,此页面可以自定义 |
| 405 | Method Not Allowed 客户端请求的方法不被允许 |
| 406 | Not Acceptable服务器无法根据客户端的请求完成相应的处理 |
| 407 | Proxy Authentication Required 请求者需要使用代理进行身份验证 |
| 408 | Request Time-out 请求超时 |
| 409 | Conflict 处理请求是发生冲突 |
| 410 | Gone 被请求的资源原来有,但后来被删除了使用此状态码,其与404不一样 |
| 411 | Length Required 请求信息需要带有Content-Length信息 |
| 412 | Precondition Failed 暂时不懂,先占坑,懂了再补充 |
| 413 | Request Entity Too Large 请求的实体太大,服务器无法处理,所以拒绝请求 |
| 414 | Request-URI Too Large URI太长,无法处理,,URI通常为路径 |
| 415 | Unsupported Media Type 服务器无法处理请求附带的媒体格式 |
| 416 | Requested range not satisfiable 请求的范围无效 |
| 417 | Expectation Failed 服务器无法满足Expect的请求头信息 |
| 5xx类 | 具体含义 | |
| 500 | Internal Server Error | 服务器内部错误,无法完成请求 |
| 501 | Not Implemented | 服务器不支持请求的功能,无法完成请求 |
| 502 | Bad Gateway | 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应 |
| 503 | Service Unavailable | 由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中 |
| 504 | Gateway Time-out | 充当网关或代理的服务器,未及时从远端服务器获取请求 |
| 505 | HTTP Version not supported | 服务器不支持请求的HTTP协议的版本,无法完成处理 |
|
---方法---- |
描述 |
|---|---|
| GET | 请求指定资源并返回实体。 |
| POST | 提交数据,创建资源 |
| HEAD | 请求但无需返回数据内容,用于获取报头 |
| PUT | 从客户端向服务器传送的数据取代指定的文档的内容。 |
| DELETE | 请求服务器删除指定的资源。 |
| CONNECT | HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。 |
| OPTIONS | 允许客户端查看服务器的性能。 |
| TRACE | 回显服务器收到的请求,主要用于测试或诊断。 |
随机推荐
- Ubuntu16.04配置Eclipse开发OpenCV
系统环境 Ubuntu 16.04; OpenCV2.4.13; Eclipse neon for C++ 配置步骤 1.配置JDK,此处配置的是JDK1.8,详见<Ubuntu 16.04 ...
- centos 设置中文环境
方法1: [hl@localhost ~]$ LANG=zh_CN.UTF-8 #只对当前shell有效,临时设置 [hl@localhost ~]$ ll 总用量 drwxrwxr-x. hl hl ...
- 403 Forbidden是什么意思?403 Forbidden错误解决方法
大家平常在访问不同网站的时候,偶尔会遇到出现403 Forbidden错误的情况,浏览器会给出403 Forbidden错误提示.那么,403 forbidden是什么意思呢?出现403 Forbid ...
- Python有趣时刻,这些代码让你大呼"卧槽,怎么会这样"
分享一个实用问题,用python读取Excel并保存字典,如何做? 下面是该同学问题截图和代码 image.png 代码截图是下面这样的 image.png 不知道大家第一眼看了这个代码,什么感受?我 ...
- vs与linux的交叉编译环境搭建
很久之前就想写一个linux服务器,但是对linux的vim编译工具又不是很熟,只能在win环境下写好代码拷贝到linux环境下编译运行,现在VS出了一个插件可以对linux代码远程在linux环境下 ...
- dubbo使用简介
---------------------------------------------------------------------------------------------------- ...
- leetcode76
class Solution: def minWindow(self, s: str, t: str) -> str: n = len(s) if n==0: return "&quo ...
- 深度学习原理与框架-递归神经网络-时间序列预测(代码) 1.csv.reader(进行csv文件的读取) 2.X.tolist(将数据转换为列表类型)
1. csv.reader(csvfile) # 进行csv文件的读取操作 参数说明:csvfile表示已经有with oepn 打开的文件 2. X.tolist() 将数据转换为列表类型 参数说明 ...
- LevelDB源码分析-Compact
Compaction compact由背景线程完成,代码中触发背景线程的函数为: void DBImpl::MaybeScheduleCompaction() { mutex_.AssertHeld( ...
- 2017-09-16 ADB Shell+Putty
鼓捣电子词典的时候需要用到ADB Shell.一开始是用cmd.exe,结果发现它不能识别ANSI转义符,就换成了Putty,然后就可以正常使用了,还有彩色. 配置如下: Connection Typ ...