什么是HTTP
HTTP(HyperText Transfer Protocol),超文本传输协议,是互联网上应用最广泛的一种网络协议,所有www文件都必须遵守的一个标准,是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。
HTTP请求与响应步骤
1 建立连接
先解析DNS,把localhost变成ip(127.0.0.1),然后根据127.0.0.1和端口号8080(没有端口号则使用默认的端口)建立socket。也可以理解为通过“三次握手”建立TCP连接,确定通讯正常。
2 发送请求命令
socket建立好之后,客户端开始向web服务器发送请求命令(GET/POST等)。
3 发送请求头
浏览器发送其请求命令之后,还要以头信息的形式向服务器发送一些别的信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。
4 服务器应答
客户机向服务器发出请求后,服务器会客户机回送应答, HTTP/1.1 200 OK ,应答的第一部分是协议的版本号和应答状态码。
5 服务器发送应答头信息
客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。
6 服务器向浏览器发送数据
服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据。
7 服务器关闭TCP连接
一次‘会话’完成,如果设置了Connection:keep-alive则TCP连接不关闭,否则关闭连接。