java 网络

来源:互联网 发布:淘宝导航字体颜色代码 编辑:程序博客网 时间:2024/06/14 01:07

网络类型:

计算机网络,按照不同的分类方式来划分,可以分为不同的类型。

按照网络的地理位置可分为:局域网(LAN),城域网(MAN),广域网(WAN)。目前局域网和广域网是网络的特点。局域网是组成其他两种类型网络的基础,城域网一般都加入了广域网。广域网典型的代表是 Internet。

按照服务方式可以分为:客户机 / 服务器网络(Client / Server),对等网(Peer-to-Peer)。

通信协议:

通信协议即网络中传递、管理信息的一些规范。如果人与人之间交流需要遵循特定的语言定义一样,计算机之间的通信也需要共同遵守一定的规则,这些规则就称为网络协议。网络协议的划分:

物理层:以太网 · 调制解调器 · 电力线通信(PLC) · SONET/SDH · G.709 · 光导纤维 · 同轴电缆 · 双绞线等。
数据链路层:Wi-Fi(IEEE 802.11) · WiMAX(IEEE 802.16) ·ATM · DTM · 令牌环 · 以太网 ·FDDI · 帧中继 · GPRS · EVDO ·HSPA · HDLC · PPP · L2TP ·PPTP · ISDN·STP 等。
网络层协议:IP (IPv4 · IPv6) · ICMP· ICMPv6·IGMP ·IS-IS · IPsec · ARP · RARP等。
传输层协议:TCP · UDP · TLS · DCCP · SCTP · RSVP · OSPF 等。
应用层协议:DHCP ·DNS · FTP · Gopher · HTTP· IMAP4 · IRC · NNTP · XMPP ·POP3 · SIP · SMTP ·SNMP · SSH ·TELNET · RPC · RTCP · RTP ·RTSP· SDP · SOAP · GTP · STUN · NTP· SSDP · BGP · RIP 等。

TCP / IP 是 Internet 的基础协议,也是一种计算机数据打包和寻址的标准方法。如果访问 Internet,则必须在网络协议中添加 TCP / IP 协议。IP 协议只保证计算机能发送和接收数据,而 TCP 协议则提供一个可靠的、可流控的、全双工的信息流传输服务。虽然 TCP 和 IP 这两个协议的功能不尽相同,也可以分开单独使用。但只有两者的结合,才能保证 Internet 在 复杂的情况下正常运行。


Java 网络编程

Java 中有关网络方面的功能都定义在 java.net 包中:

InetAddress 类:地址是网络通信的基础,在 Java 中使用 InetAddress 类来封装 IP 地址和该地址的域名。InetAddress 类无构造方法,不能直接创建对象,但可以通过该类的静态方法创建一个 InetAddress 对象或者 InetAddress 数组。

URL 类:Java 将 URL 封装成 URL 类,可以通过 URL 对象记录下完整的 URL 信息。http://www.mhttp.com:8080/index.html 是一个合法的 URL 示例。一个完整的 URL 由协议名、主机名(IP)、端口号和文件路径组成。URL 类的构造方法都声明抛出异常 MalformedURLException,因此构造 URL 对象时,需要对此进行异常处理。

URLConnection 类:通过 URL 类的方法 openSteam(),只能从网络上读取数据,如果需要输出数据,此时就要用到 URLConnection 类。URLConnection 是一个抽象类,代表与 URL 指定的数据源的动态连接,提供比 URL 类更强的服务器交互控制,运行用 POST 或 PUT 或其他 HTTP 请求方法将数据送到服务器。

两种最常用的 HTTP 方法是:GET 和 POST。

HTTP(HyperText Transfer Protocol)是网络应用层的协议,建立在TCP/IP协议基础之上。HTTP使用可靠的TCP连接,默认端口为80,目前最新的版本为1.1。
HTTP 的工作方式是客户机与服务器之间的请求(Request)-应答(Response)协议,设计目的是保证客户机与服务器之间的通信。在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。

GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据

GET 方法
请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:
/test/demo_form.asp?name1=value1&name2=value2

POST 方法
请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:
POST /test/demo_form.asp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2


比较 GET 与 POST

下面的表格比较了两种 HTTP 方法:GET 和 POST。

 GETPOST后退按钮/刷新无害数据会被重新提交(浏览器应该告知用户数据会被重新提交)。书签可收藏为书签不可收藏为书签缓存能被缓存不能缓存编码类型application/x-www-form-urlencodedapplication/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。历史参数保留在浏览器历史中。参数不会保存在浏览器历史中。对数据长度的限制是的。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。无限制。对数据类型的限制只允许 ASCII 字符。没有限制。也允许二进制数据。安全性

与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。

在发送密码或其他敏感信息时绝不要使用 GET !

POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。可见性数据在 URL 中对所有人都是可见的。数据不会显示在 URL 中。

原创粉丝点击