网络编程基础笔记

计算机网络 :

        是指将地理位置不同的具有独立功能的多台计算机及外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

 网络编程的目的 :

传播交流信息,数据交换。通信

 想要达到这个效果需要什么 :

1.如何准备的定位网络上的一台主机 192.168.16.124 :端口

2.找到了这个主机,如何传输数据?

javaWeb与网络编程的区别 :

javaWeb :  网页编程 B/S

网络编程 : TCP/IP C/S

 网络通信的要素 :

1.网络编程中有两个主要的问题

  • 如何准确的定位到网络上的一台或者多台主机
  • 找到主机之后如何进行通信

2.网络编程中的要素

  • IP和端口号
  • 网络通信协议 UDP TCP

        OSI七层模型  TCP/IP协议

3.万物皆对象

 拓展 :

命令行命令 ping : 解析域名,查询ip

 IP

ip地址 : InetAddress

  • 唯一定位一台网络上计算机
  • 127.0.0.1 本机 : localhost
  • ip地址的分类
    • IPV4/IPV6
      • IPV4   4个字节组成  0~255  约42亿;其中30亿都在北美,亚洲4亿,2011年就已分配完  e.g. 127.0.0.1
      • IPV6  128位  8个无符号整数!e.g. 2001:1863:1a58:b47c:5963:0000:d794:110b
    • 公网(互联网) - 私网(局域网)

 端口(port)

是设备与外界通讯交流的出口。端口可分为虚拟端口物理端口

*虚拟端口:计算机内部或交换机路由器内的端口,不可见。

                  例:计算机中的80端口、21端口、23端口等。

范围 : 0~65535(2^16-1)

端口类型 :

  • TCP端口 UDP端口  由于两个协议是独立的,因此各自的端口号也相互独立,TCP和UDP都可以拥有8080端口,两者不会产生冲突。
  • 周知端口(Well Known Ports):范围从0~1023
    • 众所周知的
    • HTTP :80
    • FTP :21
    • HTTPS :443
    • TELENT :23
  • 程序注册端口:范围从1024~49151
    • 分配给用户进程或者应用程序
    • Tomcat :8080
    • MySQL :3306
    • Oracle  :1521
  • 动态端口(Dynamic Ports):范围从49152~65535
    • 一般不固定分配某种服务,而是动态分配

Dos命令 :

  •         netstat -ano  #查看所有的端口
  •         netstat -ano | findstr "5900"  #查看指定的端口
  •         tasklist | findstr "5900"   #查看指定端口的进程

物理端口:又称为接口,是可见端口。

                  例:计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11

                         插口也属于物理端口的范畴。

 通信协议

TCP/IP协议簇  实际上是一组协议

重要 :

  • TCP :用户传输协议      举例 :打电话
    • 连接,稳定
    • 三次握手,四次挥手
    • 客服端、服务端   
    • 传输完成,释放连接,效率低                                    
  • UDP :用户数据报协议  举例 :发短信
    • 不连接,不稳定
    • 客户端、服务端 :没有明确的界限
    • 不管有没有准备好,都可以发给你

出名的协议:

        TCP :用户传输协议

        IP :网络互联协议

HTTP报文

 结构 :

        报文首部:服务器端或客户端需处理的请求或响应的内容及属性

        空行(CR 回车符 + LF 换行符)

        报文主体:应被发送的数据

分类:

        请求/响应 报文:

  •                 报文首部--请求行/状态行

                                 请求首部字段/响应首部字段 

                                 通用首部字段

                                 实体首部字段

                                 其他

  •                 空行
  •                 报文主体

 文件上传(待深入学习)

涉及到的知识点 : IO流

 Tomcat

  • 服务端
    • 自定义  S
    • Tomcat服务器  S : Java后台开发!
  • 客户端
    • 自定义  C
    • 浏览器  B

Dos界面乱码问题解决 :

进入 Tomcat文件/conf/logging.properties配置文件

修改java.util.logging.ConsoleHandler.encoding = UTF-8 

    为java.util.logging.ConsoleHandler.encoding = GBK(Windows默认设置) 

 UDP(待深入学习)

涉及到的知识点 : 多线程

URL(统一资源定位符)

e.g. https://www.baidu.com

DNS域名解析 www.baidu.com  →  xxx.xxx.x.x

格式 : 协议 : // ip地址 : 端口/项目名/资源

下载网络资源格式 :

https: // meeting.tencent.com / download-win.html?from=1000&fromSource=1

 RESTful API(Representational State Transfer)

定义 : 是一种软件架构风格、设计风格,可以让软件更加清晰,更简洁,更有层次,可维护性更好

API请求

CRUD

GET:   读取(Read)
POST:  新建(Create)
PUT:   更新(Update)
PATCH: 更新(Update),通常是部分更新
DELETE:删除(Delete)

过滤信息(Filtering)

?limit=10:指定返回记录的数量
?offset=10:指定返回记录的开始位置。
?page=2&per_page=100:指定第几页,以及每页的记录数。
?sortby=name&order=asc:指定返回结果按照哪个属性排序,以及排序顺序。
?animal_type_id=1:指定筛选条件

API响应

状态码

1xx:相关信息
2xx:操作成功  
        GET:    200 OK
        POST:   201 Created     表示生成了新的资源
        PUT:    200 OK
        PATCH:  200 OK
        DELETE: 204 No Content  表示资源已经不存在
                206 Partial Content 表示范围请求 

3xx:重定向
        303 See Other  暂时重定向,表示参考另一个 URL
4xx:客户端错误
        400 Bad Request:服务器不理解客户端的请求,未做任何处理。
        401 Unauthorized:用户未提供身份验证凭据,或者没有通过身份验证。
        403 Forbidden:用户通过了身份验证,但是不具有访问资源所需的权限。
        404 Not Found:所请求的资源不存在,或不可用。
        405 Method Not Allowed:用户已经通过身份验证,
                                但是所用的 HTTP 方法不在他的权限之内。
        410 Gone:所请求的资源已从这个地址转移,不再可用。
        415 Unsupported Media Type:客户端要求的返回格式不支持。比如,API 只能返回                                     JSON 格式,但是客户端要求返回 XML 格式。
        422 Unprocessable Entity :客户端上传的附件无法处理,导致请求失败。
        429 Too Many Requests:客户端的请求次数超过限额。
5xx:服务器错误
        500 Internal Server Error:客户端请求有效,服务器处理时发生了意外。
        503 Service Unavailable:服务器无法处理请求,一般用于网站维护状态。

返回数据

  • 不要返回纯文本,正确数据格式 - JSON对象
  • 不要包装数据
  • 发生错误时,不要返回200状态码

RESTful API 一种流行的 API 设计风格REST 是 Representational State Transfer的缩写,如果一个架构符合REST原则,就称它为RESTful架构,RESTful API 是 HTTP 协议的最佳实践,RESTful API 是一种软件架构风格、设计风格,可以让软件更加清晰,更简洁,更有层次,可维护性更好https://restfulapi.cn/

 快捷键

Ctrl + Shift + Esc  →  任务管理器

Alt + F4  → 关闭当前窗口

Ctrl + Shift + T  → 恢复异常关闭的浏览器

 计算机相关考试证书

软考

 计算机等级考试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值