原理:由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认端口:80)的TCP连接。HTTP在此端口监听客户端发送过来的请求。一旦收到请求,服务器向客户端回复一个状态行,比如:“HTTP/1.0 200 OK”,和响应消息。
HTTP协议:
超文本传输协议,是互联网上使用的最广泛的协议,HTTP是一个客户端和服务器端请求和应答的标准(TCP)。
HTTP请求:
HTTP请求由以下部分组成
- 请求行:请求方法,请求URL,协议版本
- 请求头:包含若干属性,格式为“属性名:属性值”,服务端据此获取客户端的信息。
- 空行:
- 请求体:传递请求参数
HTTP响应:
HTTP响应由以下部分组成
- 状态行:协议版本,状态码,状态码描述
- 响应头部:头部字段名,字段值
- 空行:
- 响应正文:响应的参数
基本思想:
了解TCP协议:https://blog.csdn.net/yh971660526/article/details/82930041
- HTTP协议是基于TCP的通信协议(连接可靠性),实现两台主机不同进程之间的通信(客户端和服务器)。通过socket建立通信。
- 服务器接收客户端请求后,分析请求方法(GET(从指定的资源请求数据,参数在URL中)、POST(向指定的资源提交 要被处理的数据,参数在请求正文中)等)。
- 拿到请求的URL
- 判断资源是否存在,以网页的形式返回给客户端或返回错误。
http_server.c