【JAVA SE基础篇】64.端口、URL、爬虫原理、传输协议

1.端口

IP地址用来标识一台计算机,但是一台计算机上可能提供多种网络应用程序,端口就用来区分这些程序。

端口是虚拟的概念,并不是说在主机上真的有若干个端口。通过端口,可以在一个主机上运行多个网络应用程序。

端口的表示是一个16位的二进制数,2个字节,对应十进制的0-65535

公认端口:0-1023 例:80端口分配给www,21端口分配给FTP

注册端口:1024-49151 分配给用户进程或应用程序

动态/私有端口:49152-65535

dos命令下:

查询所有端口:nestat-ano

查询指定端口:nestat-ano|findstr"808"

查询指定进程:tasklist|findstr"808"

查询具体程序:使用任务管理器看PID

InetScoketAddress

包含端口,用于socket通信的

端口

1、区分软件

2、2个字节 0-65535 UDP TCP

3、同一个协议端口不能冲突

4、定义端口越大越好

InetSocketAddress

1、构造器

new InetSocketAddress(地址|域名,端口);

2、方法

getAddress​()

getPort()

getHostName()

例:

 2.URL

URI:统一资源标识符,用来标识抽象的或物理资源的一个紧凑字符串

URL:统一资源定位符,一种定位资源的主要访问机制的字符串

URN:统一资源名称,通过特定的命名空间中的唯一名称或ID来标识资源

在www上,每个信息资源都有统一且唯一的地址,即统一资源定位符(URL)

如:http://www.google.com:80/index.html

由四部分组成:

1.协议:http://

2.存放资源的主机域名:www.google.com

3.端口号:80

4.资源文件名:index.html

例:

3.爬虫原理

1.获取url

2.下载资源

3.分析资源(正则表达式)

4.数据抽取,清洗

5.数据存储

例:

4.传输协议

1.TCP传输协议:一种面向连接的,可靠的,基于字节流的运输层通信协议。

  特点:

    1.面向连接

    2.点到点的通信,高可靠性

    3.占用系统资源多、效率低(三次握手:点名,答道,确认)

2.UDP传输协议:一种无连接的传输协议,提供面向事务的简单不可靠传送服务

  特点:

    1.非面向连接,传输不可靠,可能丢失

    2.发送不管对方是否准备好,接收方收到也不确认

    3.可以广播发送

    4.非常简单的协议,开销小

3.套接字Socket

  开发的网络应用位于应用层,TCP/UDP属于传输层协议

  应用层和传输层使用套接字来进行分离

4.Socket编程

基于TCP协议的Socket编程:通信双发需要建立连接,连接建立时双方存在主次之分

基于UDP协议的Scoket编程:通信双发不需要建立连接,通信双发完全平等

原文地址:https://www.cnblogs.com/chengkuan/p/13387583.html