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请求包括三部分:请求行、请求头、请求体
l 请求行:请求方法(post、get、head、put、delete、option等)、请求url、http协议以及版本
l 请求报文头:
常见属性:Accept(服务端接收什么类型的响应)Cookie(里面包含session的信息jsessionid)、Referer(请求从哪个url传来的)cache-contor(一个请求希望返回的内容在客户端缓存一段时间)
l 请求体:请求参数
HTTP响应报文包括:响应行、响应头、响应体
l 响应行:http协议及版本、状态码加描述
l 响应头:
报文头属性:cache-control(服务端告诉客户端如何控制相应内容的缓存)、ETag(服务器资源是否发生变化,通过缓存可以减少请求和响应的交互)、Location(让客户端定向的url)、Set-cookie(服务器设置客户端的Cookie)
参考:http://blog.csdn.net/u010256388/article/details/68491509
(3) HTTP方法有哪些?
l GET:请求服务器的资源,可以通过URL传参给服务器
l POST:传输数据到服务器
l PUT:传输文件到对应的URI位置,报文主体中包含文件内容
l DELETE:删除对应URI的文件
l HEAD:获取报文头部,不返回报文体,一般用来验证URI是否有效
l OPTIONS:查询相应的URI支持的HTTP方法
(4) GET与POST的区别
l Get一般用来获取服务器的内容,post用来传输信息到服务器
l Get使用URL请求传参,Post将字段与对应的值存在请求实体中发送
l Get传输的数据量少,但效率高;post传输大量数据,可用于传文件
l Get不安全,url可见
l Get只支持ASCII字符,中文会乱码
(4) HTTP与HTTPS?
l HTTP不加密
l 不验证通信方的身份
l 无法验证报文完整性
HTTPS:HTTP+加密处理(SSL)+认证+完整性保护
(5) HTTP优化
l 利用负载均衡优化和加速HTTP应用
l 利用HTTP Cache来优化网站
- Http相关知识整理
- HTTP网络连接相关知识整理(二):网络IO
- HTTP网络连接相关知识整理(四):超时异常
- 对http相关知识整理(来自MDN)
- HTTP网络连接相关知识整理(四):超时异常
- 文件相关知识整理
- DataGridView相关知识[整理]
- 数据库相关知识整理
- ORACLE相关知识整理
- 硬件相关知识整理
- Erlang相关知识整理
- service相关知识整理
- XMPP 相关知识整理
- servlet相关知识整理
- Junit相关知识整理
- XMPP 相关知识整理
- XMPP 相关知识整理
- RF相关知识整理
- 策略路由(PBR)(二)
- geth web3提供的接口
- 手把手教你在Github Pages搭建自己写的页面
- 函数形参实参个数不统一
- LeetCode 55 Jump Game
- Http相关知识整理
- 如何添加SSL证书实现https请求
- 40个java多线程问题总结
- nginx配置
- c语言缓存机制
- RocketMQ源码深度解析二之Name Server篇
- js如何实现网站内容禁止复制和粘贴、另存为?
- TCP/IP、Http、Socket的区别以及面试中关于网络协议常问的考点
- 21分钟 MySQL 入门教程