web编程之网络基础

目标
了解计算机网络 基本概念 、IP地址、域名、URL
TCP/UDP特点比较
C/S及B/S应用架构
HTTP架构及消息流程、常用头字段、常用错误代码、请求方式(POST/GET/DELETE)区别
Socket概念及作用【bind(),listen(),connect(),send(),accept(),close(),recv(),sendto()】
1、TCP/IP
1.定义
Transmission Control Protocol/Internet Protocol :中文传输控制协议/互联网络协议
有序性:数据包编排序号
正确性:检验传输中数据是否被破坏
可靠性:发送端采用重传,若有缺失 重新发送
可控性: 根据网络质量 控制发送速度达到合理值
通信协议,规范网络通信设备 两台主机 数据往来格式和传送方式,是一种计算机数据打包和寻址 标准方法
2.网络分层
TCP/IP将网络分为4层,应用层、传输层、网络层、接口层。
应用层:负责接收数据、解释数据、加密数据等。
传输层:为两个主机不同端口提供通信服务。分为TCP 提供可靠有序传输、UDP提供非可靠传输
UDP 无连接传输层协议 提供面向事务不可靠信息传送服务
优点:更快速;轻量级 ;随时发送接收没有建立、断开过程,不需要维护负责连接状态
缺点:不保证数据可靠传输、仅最大可能发送 ,没有算法控制手法速率,
适用场景:吞吐量达(轻量级控制)
网络层:为两个主机 提供通信服务,定义了数据被封装为传送包,定义不同主机寻址方式,主要以IP组成,辅以ICMP、IGMP等路由协议
接口层:负责相邻物理设备间传输。
3.IP地址
网络地址(Network Address)是网络层概念。Internet上采用IP地址表示网络地址,IP地址是一种32位二进制地址。有两种形式IP地址 IPV4和IPV6
IPV4 :分为网络地址和主机地址
IPV6: 128位二进制组成 用8个16进制表示
4.域名
(Domain Name)应用层概念,在数据传输时表示计算机电子方位,使用域名方便任命记忆和沟通一组服务器地址(网站、电子邮件、FTP等)
由英文字母和数字组成 熟知的域名
www.baidu.com
5.URL
表示资源在主机内的访问路径
URL标准形式:
[协议]://[主机]:[端口]/[路径]?[参数]
协议:是HTTP,FTP应用层协议
主机:域名或IP地址;
端口:端口号
路径:是以斜杠分割的主机内路径
参数:以&分割的若干键值对
6.C/S 及B/S架构
C/S即 Client/Server 降低系统通信开销 。
两台主机相距较远,Client程序-------->用户请求-------->Server程序--------->返回结果——————>客户程序
B/S 即Browser/Server, 网络结构模式。适用web浏览器作为客户端应用软件,B/S是特殊的C/S
优点:
便于部署、维护、升级
跨平台、开放、对客户端要求低
安全性 较高
Django、Flask均是以B/S架构为主要开发目标
7.HTTP
超文本传输协议,,可以传送任何格式数据,是Web浏览器和Web浏览器标准协议

默认端口80
步骤:

7.1HTTP 消息结构
Request消息结构

结构格式 = 请求头(HTTP HEAD)+ 消息体(HTTP BODY)
请求头:
请求方法
URL
协议版本
头字段等
消息体:
HTML
XML
JSON等
Response消息结构
Response是服务器根据客户端请求包做相应处理后向客户端返回结构

常用错误代码

8.HTTP请求方法
访问方式
DELETE : 删除
GET: 获取
PUT: 修改
POST:表单提交
9.Socket编程
Socket 是Windows和Mac操作系统所遵守的网络编程标准,描述IP地址和端口
实现两个虚拟机或不同计算机之间通信 或者相同主机内进程的通讯 。每种服务打开一个Socket

socket():建立Socket对象 相当于打开操作
bind() : 绑定端口 如果在connect()没有调用之前调用bind() 系统会自动为Socket分配未被占用地址和端口
listen() : 监听端口 可以设置最大值
connect() : 客户端连接
accept() : 接收连接
send() : 发送数据
recv() : 接受数据
close() : 关闭连接
sendto():向指定地址发送数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值