http之各大知识点总结精简版(url、状态码、头信息等)
来源:互联网 发布:excel数据清洗 编辑:程序博客网 时间:2024/06/04 18:05
一.http主要工作原理和概念描述
1.HTTP协议,即超文本传输协议,是服务器与本地浏览器之间信息传输的协议,基于TCP/IP通信协议。客户端向服务器发起请求时,只需传送请求方法和路径,服务器接收到请求之后做出相应的回应,状态码就是最好的反馈标志。
二.URL和URI
URL是URI的子集、特例
1.URI(I:Identifier),统一资源标识符,可以表示一个域,可以表示一个资源(邮箱、页面、图片):http://www.woshishui.com
2.URL(L:Locator),统一资源定位符,只能标识一个资源:http://www.woshishui.com/men/strongman.html
所以URL或者URI一般由三部分组成:
①协议或者说服务类型:http
②存有该资源的主机IP地址以及端口号:www.woshishui.com:80
③具体资源:men/strongman.html
三.请求与回应
包括请求与服务器连接的三次握手和断开与服务器连接的四次挥手、HTTP请求、HTTP响应
1.三次握手、四次挥手
上图
2.HTTP请求头
以下是用fiddler抓包抓到的请求头
3.HTTP响应头
以下是用fiddler抓包抓到的响应头
这里是请求头和响应头的全部解释(属性名以及属性值)
四.常用状态码详解
1.分类:
1**:信息,服务器收到请求,需要请求者继续执行操作
2**:成功,操作被成功接收并完成请求
3**:重定向,需要进一步操作完成请求
4**:客户端错误,请求包含语法错误或者无法完成请求
5**:服务器端错误,服务器在处理请求的过程中发生错误
2.常用状态码
1**:
100Continue继续。客户端应继续其请求101Switching Protocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议
2**:
200OK请求成功。一般用于GET与POST请求201Created已创建。成功请求并创建了新的资源202Accepted已接受。已经接受请求,但未处理完成203Non-Authoritative Information非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本204No Content无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档205Reset Content重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域206Partial Content部分内容。服务器成功处理了部分GET请求
3**:
300Multiple Choices多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择301Moved Permanently永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替302Found临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI303See Other查看其它地址。与301类似。使用GET和POST请求查看304Not Modified未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源305Use Proxy使用代理。所请求的资源必须通过代理访问306Unused已经被废弃的HTTP状态码307Temporary Redirect临时重定向。与302类似。使用GET请求重定向
4**:
400Bad Request客户端请求的语法错误,服务器无法理解401Unauthorized请求要求用户的身份认证402Payment Required保留,将来使用403Forbidden服务器理解请求客户端的请求,但是拒绝执行此请求404Not Found服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面405Method Not Allowed客户端请求中的方法被禁止406Not Acceptable服务器无法根据客户端请求的内容特性完成请求407Proxy Authentication Required请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权408Request Time-out服务器等待客户端发送的请求时间过长,超时409Conflict服务器完成客户端的PUT请求是可能返回此代码,服务器处理请求时发生了冲突410Gone客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置411Length Required服务器无法处理客户端发送的不带Content-Length的请求信息412Precondition Failed客户端请求信息的先决条件错误413Request Entity Too Large由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息414Request-URI Too Large请求的URI过长(URI通常为网址),服务器无法处理415Unsupported Media Type服务器无法处理请求附带的媒体格式416Requested range not satisfiable客户端请求的范围无效417Expectation Failed服务器无法满足Expect的请求头信息
5**:
500Internal Server Error服务器内部错误,无法完成请求501Not Implemented服务器不支持请求的功能,无法完成请求502Bad Gateway充当网关或代理的服务器,从远端服务器接收到了一个无效的请求503Service Unavailable由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中504Gateway Time-out充当网关或代理的服务器,未及时从远端服务器获取请求505HTTP Version not supported服务器不支持请求的HTTP协议的版本,无法完成处理
- http之各大知识点总结精简版(url、状态码、头信息等)
- HTTP头信息总结
- HTTP状态码信息
- HTTP状态码信息
- http请求头状态码
- HTTP请求头、响应头、状态码
- HTTP(HTTP状态码,HTTP头部信息)/RESTful
- Http状态码(404、500等)
- http 头信息(备查)
- 如何取得当前页完整URL (含HTTP头信息)
- Android-Rxjava+Retrofit2.x 获取Http状态码、响应头(Headers)等数据
- 网站下线维护时,该发哪个http header头信息状态码给搜索引擎?
- 在接收到HTTP状态码206的头信息以后, 终端如何响应?
- Jmeter之HTTP信息头管理器
- iOS开发之HTTP的请求头和响应头 以及常见的响应状态码
- 摘录:http响应码 & http 信息头
- HTTP 响应码 && HTTP 信息头
- HTTP状态码总结
- ywordle.ymark.cc网站的SEO实战总结1
- 每天一道算法题--罪犯转移
- 326. Power of Three
- 在idaea中合并分支到git仓库
- DBVisualizer Pro for mac破解步骤
- http之各大知识点总结精简版(url、状态码、头信息等)
- MVC中Excel数据的导入与导出
- chmod命令
- mac 安装brew
- 编码相关的问题
- 技术博客那点事
- 剪枝的概念
- Windows系统 各个版本64位MongoDB下载地址
- 确定一个类是否具有单一职责