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 | 回显服务器收到的请求,主要用于测试或诊断。 |
随机推荐
- [UE4]Dynamic Entry Box
Dynamic Entry Box:条目创建容器 一个特殊的容器,能够自动创建条目,在可变数量条目的时候,但是又不值得创建一个ListView或者Tile View. 注意: Dynamic Entr ...
- 知识点:Java 内存模型完全解密
Java虚拟机(JVM) 规范中定义了一种Java的内存模型,即Java Memoory Model(简称JMM),用来实现让Java程序在各个平台下都能达到一致的内存访问效果. JVM是整个虚拟机, ...
- js开发相关
获取url中的参数 (function ($) { $.getUrlParam = function (name) { var reg = new RegExp("(^|&)&quo ...
- python中建模分析零息票收益率曲线--复利和连续复利
收益率曲线(Yield Curve)是显示一组货币和信贷风险均相同,但期限不同的债券或其他金融工具收益率的图表.纵轴代表收益率,横轴则是距离到期的时间.在此用python建模分析零息票收益率曲线,输出 ...
- Spring整体了解
1.spring原理 内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建.调用对象,Spring就是 ...
- 在C++程序中自动加入svn版本号
原创文章,欢迎阅读,如果您想转载,请在第一行醒目注明原作者和原始链接. 为了方便追查和确认软件bug等问题,给软件或者库赋予版本号是个好办法. 最简单的版本号管理是记录编译时间: cout<&l ...
- lambda group by 的用法
foreach (DynamicObject lstKSItem in lstKSItems) { var entity = lstKSItem["FEntity"] as Dyn ...
- css:常见布局问题
一.单列布局 1. 水平居中 1.1 使用inline-block和text-align .parent{text-align:center;} .child{display:inline-block ...
- MANIPULATION
MANIPULATION Generalizations Congratulations! You learned how to use the command line to view and ma ...
- Gitlab安装与备份恢复
GitHub是2008年由Ruby on Rails编写而成,与业界闻名的Github类似;但要将代码上传到GitHub上面,而且将项目设为私有还要收费.GitLab是一个用于仓库管理系统的开源项目, ...