1web service:
运行在用户空间
应用层协议: httphttps
传输层协议: tcpudpsctp
2 传输层端口划分:
0-1023: 特权端口, 众所周知的, 永久的分配给固定的应用使用
1024-41951: 亦为注册端口, 但要求不是特别严格, 分配给程序注册为某应用程序使用; 如 mysql:tcp3306
41952+: 客户端程序随机使用的端口, 动态端口, 或私有端口其范围定义在 //proc/sys/net/ipv4/ip_local_port_range;
3BSD socket:IPC 的一种实现, 允许位于不同主机 (也可以是同一主机) 上的进程之间进行通信,
socket API: 封装了内核中的 socket 通讯相关的系统调用
4TCP FSM: 有限状态机
closed: 关闭
listen: 监听
- SYN_SENT:
- SYN_RECV
- establish
FIN_WAIT1 : 分手等待阶段 1
- CLOSE_WAIT
- FIN_WAIT2
- LAST_WAIT
- TIME_WAIT
- CLOSED
5socket 类型:
根据传输层协议划分
socket_stream:tcp 套接字
socket_dgram:udp 套接字
socket_raw: 裸套接字
根据套接字所使用的地址格式 (socket domain) 划分:
- AF_INET:address family,ipv4
- AF_INET6:address family,ipv6
AF_unix: 同一主机上的不同进程间, 基于 socket 套接字通讯使用的一种地址; unix_sock(不进行向 tcp 下层封装, 而是将进程放在内存中作为一个文件, 供其他进程访问通讯)
6tcp 协议的特性:
建立连接: 三次握手
将数据打包成段, 检验和(crc32)
有确认重传超时机制
排序: 基于逻辑号控制
流量控制: 滑动窗口算法
拥塞控制: 慢启动和拥塞避免算法
7http:hyper text transfer protocol: 应用层协议, 是一种文本协议, 使用 tcp:80 端口,
html:hyper text mark language: 超文本标记语言, 它是一种编程语言
CSS:cascading style sheet : 定义网页样式
js:javascript; 脚本开发语言, 客户端脚本(在客户端运行), 源超文本文件下载到客户端引擎上运行; 和 java 没有关系;
8wen 服务有两种开发技术:
客户端技术: JavaScript
服务端技术: phpjsp (服务端脚本, 在服务端运行)
9http:
文本协议, 意味着传输时需要将 html 转换成 ASCII 码传送, 图片是二进制存储的, 早期是不能用 http 传输的
协议版本:
http/0.9 : 原型版本, 功能少且不足简陋
http/1.0 : 引入了 cachemimemethod
mime:multipurpose internet mail extension: 多用途互联网邮件拓展协议; 它能够传输非文本信息, 对不同格式文件进行编码
method:GETPOSTHEADPUTDELETETRACEOPTIONS... 等等
http/1.1: 增强了缓存功能
http/2.0:
http 协议工作模式:
http 请求报文: http request
http 响应报文: http response
注意: 一次 http 事物: 由一个 http request 和对应的一次 http response 组成的事件
web 资源: web resource,web 由 (很多) 资源组成
静态资源: 图片 jpgpngtextjscssmp3
静态资源无需服务器做出额外处理, 客户端请求, 服务端直接发送资源
动态资源: 服务端需要通过执行程序做出处理, 发送给客户端的是程序的运行的结果, 如 phpjsp
注意: 一个页面展示的资源可能有多个; 每个资源都需要单独请求
web 资源的标识机制: URL,uniform resource locator: 统一资源定位符, 用于描述服务器某特定资源的位置
URL 格式: scheme://server[:port]/PATH/TO/SOMESOURCE
URL 格式示例: http://www.sina.com.cn/index.html
scheme: 指明协议, httpftp 等
server[:port] :www.sina.com.cn // 默认 80 端口
文件路径 :index.html; 可省略, 默认路径(主页面)
10 一次完整的 http 请求处理过程(服务器端)
建立或处理连接: 接受请求或拒绝请求
接收请求: 接收来自于网络上的主机请求报文中对某些特定资源的一次请求的过程, 经过三次握手和四次断开
处理请求: 对请求报文进行解析, 获取客户端请求的资源及请求方法等相关信息
访问资源: 获取请求报文中请求的资源(一般是到硬盘上查找资源, 需要磁盘 I/O)
构建响应报文
发送响应报文
记录日志: 用于分析用户行文
19http 协议及 web 基础服务
来源: http://www.bubuko.com/infodetail-2490356.html