学习网络协议的历程
时间:2023-07-02 06:37:00
完全完成网络协议
一、基础知识和环境建设
互联网上的信息交流不仅仅是我向互联网提交信息,然后你就会收到信息。但通过一系列复杂的过程。
1.数据是如何从一个设备传输到另一个设备的?
所有这些都是由网络协议规定的。可以说,没有网络协议,就没有今天的互联网!
常见的网络协议:HTTP(HTTPS、SMTP、MQTT、RTPM等)根据不同的需要使用不同的协议
2.网络协议面试问题经常在不同领域提出:
学习网络协议的意义:多了解深网络协议层次的原则,更好地配合网络安全进行测试。
3.学习环境的构建:
C/S开发环境 |
---|
服务器:java |
客服端:浏览器 |
抓包:浏览器,fiddler、wireshark
模拟工具:Xshell、packet tracer、GNS3
数据交互模型的客户服务端和服务器
java语言特性的说明(为什么环境要这样搭建):
C/C 和java的对比
C/C 跨平台代码模式:跨平台原理是将不同的平台编译成不同的格式。
例如
-
要在mac操作时,需要将代码编译成mach-o格式
-
要在windows上述操作应编译成PE格式
-
要在linux将上操作编译成ELF格式
针对不同平台就要进行多次编译,使用平台相关的编译器生成对应平台的可执行文件。
java跨平台代码模式:java对于操作系统来说,将代码编译成自解码文件并不是直接的可执行文件。
安装在不必要的系统上JVM(java virtual machine),由jvm软件去加载.class将文件翻译成机器指令。如果代码错误,编译失败,则不会生成字节码文件。
特点:到处编译。
安装JDK就能够使用JVM
搭建jdk环境
安装jdk-8u241-windows-x64
取消公共安装JRE
将安装路径改为所需路径
完成安装
配置环境变量
右键此计算机点击属性,找到高级系统设置
添加jdk的bin目录即可
配置JAVA_HOME
添加bin和jre\bin目录
最后解压tomcat完成相应目录的环境建设
扩展:如何构建两个jdk实现方便的环境切换java在一台电脑上安装两个或jdk如何配置环境变量,实现jdk切换 - 我不吃鸡儿 - 博客园
4.什么是端口号?
端口号:相当于营业厅的窗口
每个端口监控数据,运行不同的软件处理不同的数据。这类软件大致理解为服务器软件
当不同的软件向服务器的同一端口发送数据时,需要部署项目(部署不同的)java项目)
在服务器端构建环境,实现客户服务端和服务器端的通信
访问服务器软件
http://IP地址:端口号/项目
通过ip地址发现服务器,通过端口发现服务器软件,最后通过端口通信访问项目
访问当地建筑tomcat
解压tomcat双击启动指定目录start.bat,访问http://127.0.0.1:8080
5.网络协议、互联网模型
对于不同的网络协议内容,客户服务端和服务端之间的沟通是无法有效的。国际标准组织制定统一的标准http协议使通信更加方便。
国际标准化组织ISO创建的OSI参考模型有七层结构
实践证明TCP/IP四层协议是实用协议
请求过程
在学习和研究过程中,网络模型通常分为五层。下图显示了一般的请求过程。客户端将数据层层包装,然后通过网络线等媒体发送到服务器。服务器收到数据包后,通过层层解包获得原始数据。服务器也是如此。
搭建JAVA服务器
下载idea IntelliJ IDEA 2021.2.3 便携增强版 - 果核剥壳
-
创建空项目
-
设置项目位置
-
添加java模块
-
创建第一个模块 01_HelloWorld
-
创建一个java类,命名为 main.java
-
将代码链接web需要添加服务器的功能web模块。
-
右键项目,选择添加框架支持,选择web应 使用程序,应用程序
当地建立了服务器和客服端,访问流程如下,客服端通过8080端口要求tomcat发送数据
-
将tomcat集成到idea添加本地tomcat服务器
-
添加到项目结构中tomcat依赖
java最好有包(包含层层文件夹),以便在不同的文件夹中取相同的文件名。
-
创建登录页面来处理登录请求
登录