HTTP协议

一.状态码:
1、HTTP的状态码分类;
状态码
已定义范围
分类
1XX
100-101
信息提示
2XX
200-206
成功
3XX
300-305
重定向
4XX
400-415
客户端错误
5XX
500-505
服务器错误
 
1xx:临时响应,表示请求已被接受,需要继续处理
2xx:正确的响应,代表请求已成功被服务器接收、理解、并接受
3xx:重定向,客户端需要向服务器发送更多的请求才能获得最终的结果
4xx:客户端的错误
5xx:服务器发生异常或错误
状态码很多,一时半会也记不住,如果不是经常接触,时间长了也会遗忘,怎么办呢?其实你只要记得状态码前面的第一位数字的意思就成,就如“409”一看就知道是客户端错误,当然常见的状态码也是需要我们掌握。
2、常见的状态码
状态码
状态信息
含义
200
OK
服务器成功处理了请求(这个是我们见到最多的)
301/302
Moved Permanently(重定向)
请求的URL已移走。Response中应该包含一个Location URL, 说明资源现在所处的位置
304
Not Modified(未修改)
客户的缓存资源是最新的, 要客户端使用缓存
404
Not Found
未找到资源
501
Internal Server Error
服务器遇到一个错误,使其无法对请求提供服务
 
 
状态码详解
3.1 1xx信息类状态码
状态码
状态消息
含义
100
Continue(继续)
服务器收到请求,客户端应当继续发送请求的剩余部分
101
Switching Protocols(切换协议)
服务器正根据客户端的指示将协议切换成Update Header列出的协议
3.2 2xx成功类状态码
状态码
状态消息
含义
200
OK
服务器成功处理了请求(这个是我们见到最多的)
201
Created(已创建)
对于那些要服务器创建对象的请求来说,资源已创建完毕。
203
Non-Authoritative Information(非权威信息)
服务器已将事务成功处理,只是实体Header包含的信息不是来自原始服务器,而是来自资源的副本。
204
No Content(没有内容)
Response中包含一些Header和一个状态行, 但不包括实体的主题内容(没有response body)
205
Reset Content(重置内容)
另一个主要用于浏览器的代码。意思是浏览器应该重置当前页面上所有的HTML表单。
206
Partial Content(部分内容)
部分请求成功
3.3 3xx重定向状态码
重定向状态码用来告诉浏览器客户端,它们访问的资源已被移动, Web服务器发送一个重定向状态码和一个可选的Location Header, 告诉客户端新的资源地址在哪。
状态码
状态消息
含义
300
Multiple Choices(多项选择)
客户端请求了实际指向多个资源的URL。这个代码是和一个选项列表一起返回的,然后用户就可以选择他希望的选项了
301
Moved Permanently(永久移除)
请求的URL已移走。Response中应该包含一个Location URL, 说明资源现在所处的位置
302
Found(已找到)
与状态码301类似。但这里的移除是临时的。 客户端会使用Location中给出的URL,重新发送新的HTTP request
303
See Other(参见其他)
类似302
304
Not Modified(未修改)
客户端的缓存的资源已是最新的,直接使用客户端本地的资源
305
Use Proxy(使用代理)
必须通过代理访问资源, 代理的地址在Response 的Location中
306
Switch Proxy(交换代理)
现在已停止使用这个状态码
307
Temporary Redirect(临时重定向)
类似302
3.4 4xx客户端错误
有时客户端会发送一些服务器无法处理的东西,比如格式错误的Request, 或者最常见的是, 请求一个不存在的URL。
状态码
状态消息
含义
400
Bad Request(错误请求)
参数错误或服务器无法理解
401
Unauthorized(未授权)
需要客户端对自己认证
402
Payment Required(要求付款)
这个状态还没被使用, 保留给将来用
403
Forbidden(禁止)
请求被服务器拒绝了
404
Not Found(未找到)
未找到资源
405
Method Not Allowed(不允许使用的方法)
不支持该Request的方法。
406
Not Acceptable(无法接受)
 
407
Proxy Authentication Required(要求进行代理认证)
与状态码401类似, 用于需要进行认证的代理服务器
408
Request Timeout(请求超时)
如果客户端完成请求时花费的时间太长, 服务器可以回送这个状态码并关闭连接
409
Conflict(冲突)
发出的请求在资源上造成了一些冲突
410
Gone(消失了)
服务器曾经有这个资源,现在没有了, 与状态码404类似
411
Length Required(要求长度指示)
服务器要求在Request中包含Content-Length。
412
Precondition Failed(先决条件失败)
服务器在验证在请求的头字段中给出先决条件时,没能满足其中的一个或多个
413
Request Entity Too Large(请求实体太大)
客户端发送的实体主体部分比服务器能够或者希望处理的要大
414
Request URI Too Long(请求URI太长)
客户端发送的请求所携带的URL超过了服务器能够或者希望处理的长度
415
Unsupported Media Type(不支持的媒体类型)
服务器无法理解或不支持客户端所发送的实体的内容类型
 
 
 
3.5 5xx服务器错误
有时候客户端发送了一条有效Request, Web服务器自身却出错了。 可能是Web服务器运行出错了, 或者网站都挂了。
状态码
状态消息
含义
500
Internal Server Error(内部服务器错误)
服务器遇到一个错误,使其无法为请求提供服务
501
Not Implemented(未实现)
客户端发起的请求超出服务器的能力范围(比如,使用了服务器不支持的请求方法)时,使用此状态码。
502
Bad Gateway(网关故障)
代理使用的服务器遇到了上游的无效响应
503
Service Unavailable(未提供此服务)
服务器目前无法为请求提供服务,但过一段时间就可以恢复服务
504
Gateway Timeout(网关超时)
与状态吗408类似, 但是响应来自网关或代理,此网关或代理在等待另一台服务器的响应时出现了超时
505
HTTP Version Not Supported(不支持的HTTP版本)
服务器收到的请求使用了它不支持的HTTP协议版本。 有些服务器不支持HTTP早期的HTTP协议版本,也不支持太高的协议版本
 
二、缓存文件与coolie的区别:
Coolie:身份验证;缓存:真实存在页面的数据;存储在硬盘中的Cookies文件是永久存在的,而存储在内存中的Cookies信息是临时的。
  1. 举个板栗:
1、假如你去银行存钱(拿号排队)这个号就代表着你的cookie 而你的缓存就是来银行的轨迹记录,当你没有号数过期后 你此次的身份就过期了,但你来银行的记录是还在的。
2、访问某个网站,网站要求已注册的用户才能进入,在页面输入的“用户名、密码”属于cookie,页面展示的数据会保存在客户端本地,这个就是缓存。
三、代理:

 

代理的好处:
1、FQ
2、匿名访问
3、比如局域网不能上网, 只能通过局域网内的一台代理服务器上网。
4、通过代理缓存、加快上网速度
 
四、Request
1、Cache

 

Pragma:防止页面被缓存,与Cache-Control:no-cache作用一模一样
Pragma: no-cache 不缓存
Cache-Control:Public   可以被任何缓存所缓存()
Cache-Control:Private     内容只缓存到私有缓存中
Cache-Control:no-cache  所有内容都不会被缓存
If-Modified-Since/Last-Modified:第一次与最后一次资源最后修改时间
If-None-Match/ETags:当前资源唯一标识,用来判断文件是否修改
Client

 

Accept:浏览器接受返回的媒体类型
Accept"*"表示通配符
Accept-Charset:客户端支持的字符集类型
Accept-Language:客户端申明自己能理解的语言
Accept-Encoding:浏览器支付的压缩方式(常用的gzip、deflate)
User-Agent:浏览器类型和版本、操作系统,使用语言等信息
Entily

 

Content-Length: 发送给对方的数据大小
Content-Type: 数据类型
Miscellaneous

 

 
Range: 与断点相似,
Referer: 前一个网页的URL
Security

 

Origin: 前一个网页的URL
Origin与Referer的区别:前者更加的安全,Origin字段并没有包含涉及到用户隐私的URL路径和请求内容。同时可以使用它来防御CSRF攻击
Transport

 

Connection: 网络状态(close/keep-alive)
Host: 指明了服务器的域名(对于虚拟主机来说),以及(可选的)服务器监听的TCP端口号。
 
四、response
1.1 Cache:

 

 
posted @ 2017-11-21 20:09  时间的朋友  阅读(247)  评论(0编辑  收藏  举报