关于协议:

应用层网络协议包括:http,ftp,telnet,.....

传送层网络协议:使用socket封装的TCP,或UDP

端口:

用于网络通讯时传输数据时区分当前网络连接是与本机中的哪个应用程序交互的代号。

这个代号在传输数据时会存在数据报中。

java中哪些网络请求类使用TCP封装:

   URLURLConnectionSocket, and ServerSocket

java中哪些网络请求类使用UDP封装:

 DatagramPacketDatagramSocket, and MulticastSocket

URL:访问万维网信息的连接:包含两个部分:协议,地址。

  • 协议:  http://example.com,  http 是协议.
  • 地址:  http://example.com,  example.com 是地址.

java中的URL类初始化:

1、  URL aUrl = new URL("http","example.com","/pages/page1.html");

 2、  URL aUrl = new URL(http://example.com/pages/page1.html");

3、  URL gamelan = new URL("http", "example.com", 80, "pages/page1.html");

 4、包含特殊字符的URL如:http://example.com/hello world/  hello world中又一个空格字符

这时需要将空格字符转义成合法的URL字符转义后的结果

  URL url = new URL("http://example.com/hello%20world");

  如何快速转义java URL中的特殊字符? 使用URI类:

  URI uri = new URI("http", "example.com", "/hello world/", "");

  URL url = uri.toURL();

  

  构建URL过程使用的Exception类型:MalformedURLException

  URL类中的get 方法s 得到的结果:

基于URL http://example.com:80/docs/books/tutorial/index.html?name=networking#DOWNLOADING URL类中get方法获得的值

getProtocol(Returns the protocol identifier component of the URL.)

  http

getAuthorityReturns the authority component of the URL.

example.com:80

getHostReturns the host name component of the URL.

example.com

getPortReturns the port number component of the URL. The getPort method returns an integer that is the port number. If the port is not set, getPort returns -1.

80

getPathReturns the path component of this URL.

/docs/books/tutorial/index.html

getQueryReturns the query component of this URL.

name=networking

getFileReturns the filename component of the URL. The getFile method returns the same as getPath, plus the concatenation of the value of getQuery, if any.

/docs/books/tutorial/index.html?name=networking

getRefReturns the reference component of the URL.

DOWNLOADING

java 网络编程基础 1的更多相关文章

  1. Java网络编程基础(Netty预备知识)

    今天在家休息,闲来无事,写篇博客,陶冶下情操~~~ =================我是分割线================ 最近在重新学习Java网络编程基础,以便后续进行Netty的学习. 整 ...

  2. Java网络编程和NIO详解开篇:Java网络编程基础

    Java网络编程和NIO详解开篇:Java网络编程基础 计算机网络编程基础 转自:https://mp.weixin.qq.com/s/XXMz5uAFSsPdg38bth2jAA 我们是幸运的,因为 ...

  3. java网络编程基础——网络基础

    java网络编程 网络编程基础 1.常用的网络拓扑结构: 星型网络.总线网络.环线网络.树形网络.星型环线网络 2.通信协议的组成 通信协议通常由3部分组成: 语义部分:用于决定通信双方对话类型 语法 ...

  4. 【Java基础】Java网络编程基础知识

    什么是网络编程 网络编程是通过使用套接字来达到进程间通信目的,那什么是套接字呢?其实套接字是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的 ...

  5. JAVA网络编程基础知识

    网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯.网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输.在TCP/IP协 ...

  6. java网络编程基础

    前言 通过网络进行数据传输时,一般使用TCP/UDP进行数据传输.但是两个的区别就是TCP可靠,UDP不可靠.两个的共同之处就是都需要建立socket套接字,将IP地址和端口port进行绑定.但是服务 ...

  7. java网络编程基础——TCP网络编程一

    基于TCP协议的网络编程 TCP/IP协议是一种可靠的网络协议,它的通信的两端各自建立一个Socket,从而在通信的两端之间形成网络虚拟链路. Java使用Socket对象来代表两端的通信端口,并通过 ...

  8. java网络编程基础——基本网络支持

    基本网络支持 java.net包主要为网络编程提供支持. 1.InetAddress InetAddress类代表IP地址,还有两个子类:Inet4Address.Inet6Address. pack ...

  9. java 网络编程基础 InetAddress类;URLDecoder和URLEncoder;URL和URLConnection;多线程下载文件示例

    什么是IPV4,什么是IPV6: IPv4使用32个二进制位在网络上创建单个唯一地址.IPv4地址由四个数字表示,用点分隔.每个数字都是十进制(以10为基底)表示的八位二进制(以2为基底)数字,例如: ...

随机推荐

  1. NetworkError: 404 Not Found - http://www.companyName.com/Content/fonts/ubuntu-regular-webfont.woff2

    网站是使用BootStrap框架实现,当站点发布至服务器(Windows Server 2008 R2)IIS之后,显示下面的异常: Insus.NET跑至相关目录之下检查,这些字体的文件是确实存在的 ...

  2. iOS学习笔记——触控与手势

    触控 此部分内容已学良久,恨记之甚晚,忙矣,懒矣!本文简而记焉,恐日后忘也. 在iOS的触控事件中,有触控.事件以及响应者这三个角色,一个触摸则代表了一只手指和屏幕接触这个动作所包含的信息:而事件则包 ...

  3. Android一个ListView列表之中插入两种不同的数据

    http://www.cnblogs.com/roucheng/ Android一个ListView列表之中插入两种不同的数据 代码如下: public class ViewHolder{ Butto ...

  4. android app自动化测试之UIAutomator

    一.UIAutomator Android自动化测试工具有很多,但是要免费.易上手,本人觉得就直接使用Eclipse自带的UIAutomator就不错.测试人员无需跟开发要代码信息,只要手机上有安装之 ...

  5. pageEncoding的默认设置

    windows-->preference-->myeclipse-->files and editors-->jsp 右侧 Encoding 选择  ISO 10646/Uni ...

  6. spring的事务操作

    我们项目一期已经差不多结束了,所以一些细节也被拿了出来,出现最多的就是事务的操作了.因为自己负责的是一个模块(因为是另外一个项目的负责人),所以组员经常会遇到事务的问题,会出现很多奇葩的用法,各种乱用 ...

  7. oracle的基本数据类型(转载)

    数据类型是在设计表结构中需要定义的,选择适当的数据类型可以节省存储空间,提高运算效率. Oracle数据类型主要包括 1.字符型 适合保存字符串类型的数据,如姓名.地址.简介等等. 如:char(20 ...

  8. 几个最常用的git命令

    之前在Windows下一直用可视化的tortoise git,在Linux下最好是用命令行,以下是常用的git命令: git status:显示当前已修改的文件,新增的文件 git checkout  ...

  9. Scalaz(44)- concurrency :scalaz Future,尚不完整的多线程类型

    scala已经配备了自身的Future类.我们先举个例子来了解scala Future的具体操作: import scala.concurrent._ import ExecutionContext. ...

  10. ThinkCMF-幻灯片制作

    在后台的扩展工具 -> 幻灯片分类 添加分类标识为"portal_index"的分类,然后在此分类添加幻灯片. 个人认为,此处可以用于: 1. 门户网站的首页幻灯片播放功能: ...