首页 > 代码库 > socket和http协议
socket和http协议
web service 之http基础原理
web service
mac:设备与设备之间的通信,主机与路由器,路由器与路由器
ip:主机与主机
tcp/utp:传输层:提供进程地址
tcp:传输控制协议,面向连接的协议,通信前需要建立虚拟链路,建立三次握手
utp:无连接的协议:
socket:套接字:IPC的一种实现通信,允许位于同一主机或不同主机间进程之间进行通信,数据交换,socket api
SOCK_SITEAM:tcp套接字
SOCK_DGRAM:udp套接字
SOCK_RAW:裸套接字
0-1023:永久的分配给固定的应用使用,22/tcp(ssh),只能使用root来启动
1024-41951:为注册端口,要求不严格,分配给程序注册为某应用使用
41951+:客户端程序随机端口:动态端口,私有端口
/proc/sys/net/ipv4/ip_local_port_range --用于向外连接的端口范围
socket Domain(根据其所使用的 地址):
AF_INET:address Family,IPv4
AF_unix:同一个主机间的通信(客户机和主机在同一主机)不同进程
每类套接字都至少提供了两种socket:流(tcp),数据报(utp)
流:可靠地传递,面向连接,无边界
数据报:不可靠地传递,有边界,无连接
套接字相关的系统调用:
socket(0:创建一个套接字
bind():绑定
listen():监听
accept():接收请求
connect():请求连接建立
write():发动
read():接收
http协议
http:hyper text transfer protocol 超文本标记语言
html:编程语言,超文本标记语言
css:Cascading Style sheet
js:javascript(在浏览器执行的脚本)
MIME:多用途互联网扩展----实现通过文本格式发送非文本格式数据
web资源:web resource
静态文件:jpg,.gif,.html,.txt,.js,.css,mp3,
动态文件:-php,jsp
媒体:
媒体类型(MIME类型):maior/minor
URL:是Uniform Resoure Locator(统一资源定位器)的缩写。就是WWW页的地址。
其URL地址格式排列为:scheme://host:Port/path
一次完整的http请求过程:
(1):建立连接服务端接收客户端请求:
(2):接收请求:接收来自于网络的请求报文中对某资源的一次请求的过程
并发访问响应模型(web I/O)
单进程I/0结构:启动一个进程处理用户请求,而且一次只处理一个,多个请求被串行响应
多进程I/0结构,并行多启动多个进程,每个进程响应一个请求
复用I/O结构:一个进程处理多个用户请求
多线程模型: 一个进程生成多个线程,线程处理用户请求
复用的多进程I/O结构,生成多个进程,每个进程生成线程处理多个请求
(3):处理请求:对请求的资源进程解析,并获取请求的资源以及请求方法等相关信息
元数据;请求报文首部
<methed> <URL> <version>
host:www.baidu.com 请求的主机名称
(4):获取资源(访问资源):获取请求报文中请求的资源
web服务器:即存放了web资源的服务器,负责向请求者提供对方请求的静态资源
或动态运行后生成的资源,这些资源放置于本地文件系统某路径下,,
(5):构建相应报文
(6):发送响应报文
(7):记录日志
socket和http协议