Http相关知识整理

来源:互联网 发布:剑三丐姐成女捏脸数据 编辑:程序博客网 时间:2024/05/22 00:12

1.    HTTP协议  参考:  http://www.cnblogs.com/sunny-sl/p/6529830.html

(1)   相应的状态码

1**:指示信息—表示请求已被接收,继续处理

2**:成功

3**:重定向—要完成请求需要进一步操作

4**:客户端错误—请求有语法错误或者请求无法实现

5**:服务器错误—服务器未能实现合法的请求

200:请求被正常处理

204:请求被受理但是没有资源返回

301:永久性的重定向

302:临时性的重定向

304:请求的资源未修改

400:请求的报文有问题,服务器无法识别

401:请求需要认证

403:请求的资源被禁止访问

404:服务器无法找到对应的资源

500:服务器内部错误

503:服务器正忙

(2)   HTTP请求包括三部分:请求行、请求头、请求体

请求行:请求方法(post、get、head、put、delete、option等)、请求url、http协议以及版本

请求报文头:

常见属性:Accept(服务端接收什么类型的响应)Cookie(里面包含session的信息jsessionid)、Referer(请求从哪个url传来的)cache-contor(一个请求希望返回的内容在客户端缓存一段时间)

请求体:请求参数

HTTP响应报文包括:响应行、响应头、响应体

响应行:http协议及版本、状态码加描述

响应头:

报文头属性:cache-control(服务端告诉客户端如何控制相应内容的缓存)、ETag(服务器资源是否发生变化,通过缓存可以减少请求和响应的交互)、Location(让客户端定向的url)、Set-cookie(服务器设置客户端的Cookie)

参考:http://blog.csdn.net/u010256388/article/details/68491509

(3)   HTTP方法有哪些?

GET:请求服务器的资源,可以通过URL传参给服务器

POST:传输数据到服务器

PUT:传输文件到对应的URI位置,报文主体中包含文件内容

DELETE:删除对应URI的文件

HEAD:获取报文头部,不返回报文体,一般用来验证URI是否有效

OPTIONS:查询相应的URI支持的HTTP方法

 (4) GET与POST的区别

Get一般用来获取服务器的内容,post用来传输信息到服务器

Get使用URL请求传参,Post将字段与对应的值存在请求实体中发送

Get传输的数据量少,但效率高;post传输大量数据,可用于传文件

Get不安全,url可见

Get只支持ASCII字符,中文会乱码

(4)   HTTP与HTTPS?

HTTP不加密

不验证通信方的身份

无法验证报文完整性

HTTPS:HTTP+加密处理(SSL)+认证+完整性保护

(5)   HTTP优化

利用负载均衡优化和加速HTTP应用

利用HTTP Cache来优化网站

原创粉丝点击