http协议及httpd基础

ip是主机和主机之间的通信,只要中间没有NAT,源Ip和目标IP地址不变
mac是设备和设备之间的通信
http协议及httpd基础
任何一个进程需要用到某个端口时,需要向内核申请使用,内核通过套接字标记(进程间的通信,
允许不同或相同主机上不同进程之间进行通信,数据交换),调用内核中的tcp注册端口来实现
进程间通信。

tcp 传输控制协议,连接是双向的
udp ,数据报协议,无连接的协议
http协议及httpd基础
IANA:
0-1023已被永久分配,特权端口,只有管理员有权限使用
1024-41951,亦为注册端口,普通用户可用,分配给程序注册为某应用使用
41952+ 客户端程序随机使用的端口

三种套接字(ip地址加端口组合的结果):
tcp/udp 0-65535 动态或者私有端口,可供本地或者临时使用
裸套接字:不调用tcp和udp协议,直接调用Ip,封装报文,传输给目标主机,进行通信
报文被封装在IP报文不能超过MTU(最大传输单元,1500个字节,包含源目标地址)大小。

IPV4分类
A 1-127
B 128-191
C 192-223
D 240-255
私有地址
A 10.0.0.0/8
B 172.16.0.0/16-172.31.0.0/16
C 192.168.0.0/24-192.168.255.0/24

TCP协议特性
建立连接,三次握手
将数据打包成段,并生成校验和CRC-32
确认,和重传和超时
排序:逻辑序号
流量控制,滑动窗口算法
拥塞控制:慢启动和拥塞避免算法

SOCKET Domain
AF_INET ipv4
AF_INET6 ipv6
AF_UNIX 同一主机上不两只进程之前通信时使用
每类套接字都至少提供两种socket:流和数据报
流 可靠地传递,面向连接,我边界
数据报 不可靠的传递,有边界,无连接

套接字相关的系统调用
socket():创建一个套接字
bind()绑定,表示需要使用
listen()监听
accept()接收请求
connect()请求连接建立
write()向套接字文件写数据,相当于通过套按字向另外一个主机发送
read()从缓冲接收
send,recv,sendto,recvfrom()

http
html
css
js

MIME 多功能互联网邮件扩展,使的能够使用文本协议发送非文本文件
web资源 :web resource
静态文件 jpg gif html txt js css mp3 avi
动态文件 php jsp

URI Uniform Resource Identifier 统一资源标识符
URL 统一资源定位符,用于描述某服务器特定资源的位置
Scheme://server:port/path/to/resource
URN

http协议
HTTP/0.9
HTTP/1.0 支持MINE
HTTP/1.1 增强了缓存功能
HTTP/2.0

猜你喜欢

转载自blog.51cto.com/5735368/2343127