http协议基础介绍

2020-04-28  本文已影响0人  麟之趾a

端口

特权端口: 0-1023 (root权限)
非特权: 1024-41951(一般服务使用)
客户端端口: 41952+ (linux /proc/sys/net/ipv4/ip_local_port_range

HTTP协议

HTTP 传输数据的过程

HTTP为应用层协议

image.png
HTTP在是怎样建立连接的
image.png
TCP
三次握手
滑动窗口:可能Client 和 server的网卡的传输速率不一样,接收发需要给发送发一个滑动窗口,按照窗口大小发送数据
序列号:序列号,如果一个数据包太大,被分割成很多快,则通过序列号,把包排成序列。
慢启动

socket 种类

TCP类型: IP:PORT
UDP类型: IP:PORT
UP-SOCKET: unix-socket (文件)

HTTP协议的种类

HTTP:0.9: 原始简陋,只能传输文件 GET
HTTP:1.0: 增加了MIME和method。
MIME:可以传输非文本内容。把非文本内容压缩成文本内容,然后在服务端,把非文本的内容转换成文本内容。
Method: GET ,PUT ,DELETE,POST .....
HTTP1.1: 比HTTP1.0增加了缓存功能

HTTP 超文本传输协议

因为HTTP协议早期传输文本,是传输html语言的。
html:超文本标记语言
客户端: 发送HTTP请求
服务端: 响应HTTP
每一个资源都有一个HTTP请求,通过URL定位访问的资源。
URL:统一资源定位符
静态资源: 在客户端进行解析,.html,.jpg,.png,....
动态资源: (在服务端进行解析,返回结果给客户端).php,.jsp,.....

请求过程

  1. 服务端是否接收请求
  2. 服务端接收请求
  3. 服务端处理请求(在磁盘上读取,客户端请求的文件)
  4. 服务端创建响应
  5. 服务端响应请求
  6. 记录日志

并发概念

image.png

当多个客户端连接时,服务端将客户端信息保存在内存中。并创建socket,此为一个会话
所以并发连接对内存消耗很大

代理缓存说明

image.png

没有代理,用户请求的URL,会在服务端的磁盘上找到。并返回给客户端
代理缓存:用户请求的URL,server端把响应给用户的数据,缓存到proxy上。这样,接下来如果相同的数据,客户端直接从proxy的缓存拿数据就会快很多
proxy_buffer:客户端往服务端写数据,先写到prxoy的缓冲中。由proxy向服务端写入数据

IO模型概念介绍

多进程模式: 一个父进程生成多个子进程,进程响应用户请求
复合模式:一个进程,生成多个线程,线程响应请求
事件驱动型: 一个进程响应n个请求
复合多进程:一个进程,生成n个子进程,子进程(通过复合型或者事件驱动型)响应请求

上一篇 下一篇

猜你喜欢

热点阅读