简介网络请求的结构
来源:互联网 发布:梁红 张昕宇 知乎 编辑:程序博客网 时间:2024/05/19 10:12
我们在互联网传输数据的方式,看起来复杂多样,但是都是基于osi的7层参考模型的。在TCP/IP参考模型中,这7层就简化为了4层了。
如果要两者比较下的话,
共同点:
(1)OSI参考模型和TCP/IP参考模型都采用了层次结构的概念。
(2)都能够提供面向连接和无连接两种通信服务机制。
不同点:
(1)前者是七层模型,后者是四层结构。
(2)对可靠性要求不同(后者更高)。
(3) OSI模型是在协议开发前设计的, 具有通用性.TCP/IP是先有协议集然后建立模型, 不适用于非TCP/IP网络.。
(4)实际市场应用不同(OSI模型只是理论上的模型,并没有成熟的产品,而TCP/IP已经成为“实际上的国际标准”)。
还有一种就是Url直接访问网络资源。url访问网络的方式,底层还是使用的socket,是属于TCP协议访问资源的方式。但是,有个缺点就是,URL访问服务器的时候,不能发送数据,只能获取输入流,不像TCP,UPD和HTTP那样,可以直接的发送数据过去。
URL访问方式:
public static void main(String[] args) {try {// 新建URL对象,资源地址是百度知道的网址。URL url = new URL("http://www.baid.com");// 新建URL连接URLConnection urlcon = url.openConnection();// 获取输入流InputStream instream = urlcon.getInputStream();// 将流转化为字符String instr = "";byte[] buf = new byte[1024];int len = 0;//读取流while(-1!=(len=instream.read(buf))){instr+=new String(buf,0,len);}System.out.println(instr);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}
或者这样使用更快捷点:
URL url = null;InputStreamReader reader = null;BufferedReader bufferedReader = null;StringBuffer buffer = null;try {url = new URL("http://www.baidu.com/");URLConnection urlconn = url.openConnection();reader = new InputStreamReader(urlconn.getInputStream());bufferedReader = new BufferedReader(reader);buffer = new StringBuffer();String line = null;while ((line = bufferedReader.readLine()) != null) {buffer.append(line);}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {try {reader.close();bufferedReader.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}System.out.println(buffer);
打印的结果:
可以tilte中看到百度地址了。这种方式,不然考虑数据的传输问题,比其他的方式要简单的多。
- 简介网络请求的结构
- Volley简介(1) : 简单的网络请求
- okhttp网络请求简介
- Retrofit网络请求框架,简介
- DL:RBM 简介、网络结构
- 贝叶斯网络结构学习方法简介
- Android网络请求框架NoHttp简介
- 网络请求-AFNetworking3.0使用简介
- Android网络请求框架NoHttp简介
- Android网络请求框架NoHttp简介
- xutil3网络请求参数使用json结构
- Android网络请求三方库OkHttp,Retrofit的使用,及其注解使用的简介
- 网络请求的方式
- IOS的网络请求
- iOS 网络的请求
- 网络请求的封装
- 封装的网络请求
- 网络数据的请求
- android再按一次退出程序
- CODE 33: Same Tree
- ACM学习-POJ-1003-Hangover
- 拓扑排序
- 关于下载Android源码是无法获取repo和更新Android SDK的错误
- 简介网络请求的结构
- 数据结构经典排序---二路归并排序
- 广联达软件开发笔试题
- UVA - 11137 Ingenuous Cubrency
- notepad++ Function List 插件
- Flex中switch语句实例
- Flex中的if...else if...else语句
- 基础类的DSP/BIOS API调用
- 一些Linux软件(杂)