基于python的web开发(一)——TCP/IP
作为一个新人,从最基础的开始学习,记录。
基础概念包括主机、线路、交换、路由、调制解调器等,提供服务的叫服务器,获取有用信息的叫做客户端
一,TCP/IP网络
1.网络分层:
TCP/IP将网络分4层: 应用层、传输层、网络层、接口层(处理物理细节)
应用层协议:HTTP SMTP 等
传输层: TCP UDP
网络层: IP
接口层:通信行业接触更多一些
2.网络设备:
集线器 交换机 网桥 路由器 网关 调制解调器 放火墙等
3.IP地址:
网络层概念
4.域名:domain name
域名是IP的名字
5.URL(统一资源定位符)
协议://主机:端口/路径?参数
TCP: 3次握手建立连接 4次消息关闭链接
C/S B/S架构
二. HTTP超文本传输协议
(1)输入网址并按enter键,比如 http://sssdfsdf:8080/app/index.html
(2)浏览器通过域名系统查询真实IP xx.xx.xx.xx
3.向服务器xx.xx.xx.xx的8080端口发起TCP请求并建立连接。
4.发送HTTP请求的内容,包括访问的地址/app/index.html 访问方式GET 、浏览器本身的产品名等。
5.服务器返回app中的数据作为response发送给客户端。如果请求的不是一个文件,则服务器需要执行相应代码,动态生成且返回给客户端
6.浏览器接受到结果后关闭TCP链接、
7.浏览器将接受的结果呈现在显示器上。
HTTP消息结构:
1.request:
请求方法 URL 协议版本
字头段:值
消息体(格式包括:JSON HTML XML等)
2.response:
协议版本 错误码 错误字符串
字头段:值
消息体:‘
常用错误码:1xx 已经收到,需要进一步处理 2xx成功 3xx重定向,需要客户端重新发送请求
4xx客户端错误,请求中提交的参数或内容有错误。5xx服务器错误,服务器处理请求时出错。
请求方法一般包括:DELETE GET HEAD OPTIONS POST PUT
三.客户端/服务器/接口的关系
SOCKET编程