文章目录
网络编程&Http协议&Tomcat模拟
网络编程
1、计算机网络
概述:将各个地理位置的计算机通过外部设备连接在一起形成的系统网络
作用:实现数据的共享,信息的传递
IP地址:IP地址是计算机的唯一表示,要连接计算机依靠的是IP地址,一个网络环境中不可以有两个相同IP地址的电脑(IP地址冲突)
Port端口:要连接一台计算机用IP,要连接计算机中的某一个程序,用端口区分;一台计算机中不允许有两个相同端口号的程序(端口号冲突)
域名:eg. www开头网址,实际访问过程中不适用IP,而是使用域名,因为IP地址不好记
URL:统一资源定位符
2、获取网页数据
URL和XML解析
3、通信
TCP传输控制协议
1.可靠传输协议(安全性高)
2.每次通信之前都要连接一次(双向连接),三次握手,四次挥手
3.基于流的传输
4.传输效率低
UDP用户数据协议
1.不可靠传输协议(不太安全)
2.基于数据报的传输
3.传输效率较高
TCP编程
1.服务端ServerScoket
accept():监听客户端的连接(是一个阻塞方法:监听到客户端的连接就解除阻塞)
2.客户端Scoket
获取输入流:用于读
获取输出流:用于写
TCP通信案列
步骤
1.先创建服务器(指定端口)
2.监听客户端的连接(accept())
3.创建客户端(IP + 端口号),并连接服务器
4.服务器监听到客户端之后返回一个Scocket对象
5.让服务端循环监听客户端的接入
6.让客户端给服务端发送一句话
7.服务端返回客户端
HTTP协议
1.协议:指定了数据传送的一些规范
2.Tcp/ip协议:是传输/网络层的协议:注重数据的传输
3.ttp协议:是应用层的协议,注重数据的包装
4.分类:
1.Http1.0
一次连接,一次请求,一次响应
2.Http1.1
长连接状态,一次连接(多次请求,多次响应)
效率提升了
5.请求request
1.请求行(请求方法 uri 协议的版本)
2.请求头(告诉服务器的一些信息)
3.请求体
get请求的请求体没有东西
post请求如果有数据提交,数据就放在此处
6.响应response
1.响应行/状态行(协议版本 状态码 状态描述)
2.响应头(告诉浏览器的一些信息)
3.响应体:响应给请求的一些数据(html,image,json,xml,string)
7.Get和Post区别
1.Get请求会将请求的参数放在地址栏上
不安全
数据有大小限制
什么时候会发送get请求
直接在地址栏中输入地址
表单的默认提交
超链接
2.Post请求将请求参数放在请求体中
相对安全
数据没有限制(文件上传必须用post请求)
什么时候会发送post请求
设置表单的method属性值为post