Http相关 --概念
来源:互联网 发布:移动云商城 源码 编辑:程序博客网 时间:2024/06/07 11:02
1 http 是应用层协议是万维网交换文件(文本,声音,图像等多媒体)的基础 * * 2 http工作流程: * 1 客户端与服务器建立连接. * 2 建立连接后,客户端发送请求服务器, * 发送的信息包括请求头与请求体 * 3 服务器接受到请求之后,将信息返回客户端, * 返回的信息包括请求头与请求体 * 4 客户端显示服务器的信息在浏览器上,断开连接. * * 3 http特点: * http协议是一个无状态的协议,同一个客户端请求与上一次的请求是 * 没有对应关系.而且每次连接完成之后都会断开链接. * * 4 tcp/ip 的三次握手 * Tip建立连接的底层基础. * * 客户端首先发送一个syn信息,服务器使用syn+ack应答来表示连接, * 然后客户端再次以ack信息相应.这样,连接就建立了. * * 5 post/get: * get将请求的参数放在请求头 * post将请求的参数放在请求的实体 * * 6 返回码: * 200 客户端请求成功 * 403 服务器收到请求,但拒绝提供服务 * 404 请求资源不存在 * 500 服务器发生不可预期的错误 * * 7.http1.0 与 http 1.1 区别: * * http 1.0 每次请求都要建立新的tcp连接,链接不可复用. * http 1.1 新的请求可以在上次建立的tcp连接上发送请求 * 连接可以复用,减少三次握手的开销,提高效率. * *
/** 使用HttpURLConnection 通过get/post 连接服务器 * / private void doPost() { /** * 如果采用post提交,则参数放在数据实体中提交 */ try { URL httpUrl=new URL(url); HttpURLConnection conn=(HttpURLConnection) httpUrl.openConnection(); //设置连接超时的时间 conn.setReadTimeout(5000); //设置连接超时的方法 conn.setRequestMethod("POST"); //传递参数 OutputStream out=conn.getOutputStream(); //内容 String content="name="+name+"&age="+age; //写入到服务器 out.write(content.getBytes()); //读取数据 BufferedReader br=new BufferedReader(new InputStreamReader(conn.getInputStream())); final StringBuffer sb=new StringBuffer(); String line; while((line=br.readLine())!=null){ sb.append(line); } handler.post(new Runnable() { @Override public void run() { //加载数据 webview.loadData(sb.toString(), "text/html;charset=utf-8", null); } }); } catch (Exception e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } /* * * 如果采用get提交 ,则参数采用路径拼接的方式 * 采用get方式发送请求之时,对于中文字符需要进行编码处理. * */ private void doGet(){ try { url=url+" ? name="+URLEncoder.encode(name, "utf-8")+"& age= "+URLEncoder.encode(age, "urf-8"); URL httpUrl=new URL(url); HttpURLConnection conn=(HttpURLConnection) httpUrl.openConnection(); //设置连接超时的时间 conn.setReadTimeout(5000); //设置连接超时的方法 conn.setRequestMethod("GET"); //读取数据 BufferedReader br=new BufferedReader(new InputStreamReader(conn.getInputStream())); final StringBuffer sb=new StringBuffer(); String line; while((line=br.readLine())!=null){ sb.append(line); } handler.post(new Runnable() { @Override public void run() { //加载数据 webview.loadData(sb.toString(), "text/html;charset=utf-8", null); } }); } catch (Exception e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } }
0 0
- HTTP相关概念
- Http相关 --概念
- HTTP协议的相关概念
- Http Cookies 和相关概念
- 任务布置之HTTP相关概念
- 任务布置之HTTP相关概念
- 《HTTP权威指南》之HTTP相关概念详解
- http相关概念在iOS中的使用介绍
- RESTful服务使用HTTP方法相关概念学习理解
- 图解 HTTP:Web开发相关的一些核心基础概念
- HTTP缓存相关的概念 http请求头信息 http响应头信息
- HTTP第一篇【HTTP基础概念、与HTTP相关的协议】
- 相关概念
- java程序员菜鸟进阶(六)《HTTP权威指南》之HTTP相关概念详解
- HTTP相关
- HTTP相关
- HTTP相关
- http相关
- eclipse maven插件使用POM.XML异常
- 关于nsdata的压缩的问题base64,图片转字符串,图片的压缩的问题
- 多线程开发之NSOperation
- Linux文件及目录命名规则
- 通过aidl实现传送远程服务中的对象
- Http相关 --概念
- C++笔记——类的继承和访问控制
- MFC从资源文件获取png图片
- 递归:分治法与动态规划
- online_judge_1151
- 【杭电】[5499]SDOI
- Linux下tomcat的安装配置
- 图---Floyd
- 算法设计题2.34~2.36-线性表-第2章-《数据结构习题集》-严蔚敏吴伟民版