http協議及httpd基礎
mac是設備和設備之間的通信
任何一個進程需要用到某個端口時,需要向內核申請使用,內核通過套接字標記(進程間的通信,
允許不同或相同主機上不同進程之間進行通信,數據交換),調用內核中的tcp註冊端口來實現
進程間通信。
tcp 傳輸控制協議,連接是雙向的
udp ,數據報協議,無連接的協議
IANA:
0-1023已被永久分配,特權端口,只有管理員有權限使用
1024-41951,亦為註冊端口,普通用戶可用,分配給程序註冊為某應用使用
41952+ 客戶端程序隨機使用的端口
三種套接字(ip地址加端口組合的結果):
tcp/udp 0-65535 動態或者私有端口,可供本地或者臨時使用
報文被封裝在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
每類套接字都至少提供兩種socket:流和數據報
流 可靠地傳遞,面向連接,我邊界
數據報 不可靠的傳遞,有邊界,無連接
套接字相關的系統調用
socket():創建一個套接字
bind()綁定,表示需要使用
listen()監聽
accept()接收請求
connect()請求連接建立
write()向套接字文件寫數據,相當於通過套按字向另外一個主機發送
read()從緩沖接收
send,recv,sendto,recvfrom()
http
html
css
js
MIME 多功能互聯網郵件擴展,使的能夠使用文本協議發送非文本文件
web資源 :web resource
動態文件 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
http協議及httpd基礎