HTTP请求与响应步骤

HTTP请求与响应步骤

http请求和响应,说白了就是计算机之间的问答对话。http请求是提问者,http响应是回答者。详细步骤如下所示。

  1. 建立连接
    先解析DNS,例如把localhost变成ip(127.0.0.1),然后根据127.0.0.1和端口号8080(没有端口号则使用默认的端口)建立socket。也可以理解为通过“三次握手”建立TCP连接,确定通讯正常。

  2. 发送请求命令
    socket建立好之后,客户端开始向web服务器发送请求命令(GET/POST等)。

  3. 发送请求头(和请求正文如果有)
    客户端先发送与自身相关的信息,再发送空行表示请求头发送完毕,如果是post则继续发送请求正文。

  4. 回传状态行
    应答第一步,发送协议版本和状态码(200、503、404等)

  5. 回传应答头
    应答第二步,先发送自身相关信息、Content-Type(必须)及被请求的文档。

  6. 回传应答正文
    应答第三步,根据应答头的Content-Type指定的格式发送应答正文。

  7. 关闭连接
    一次‘会话’完成,如果设置了Connection:keep-alive则TCP连接不关闭,否则关闭连接。

PS:常见状态码

1xx:指示信息–表示请求已接收,继续处理。
2xx:成功–表示请求已被成功接收、理解、接受。
3xx:重定向–要完成请求必须进行更进一步的操作。
4xx:客户端错误–请求有语法错误或请求无法实现。
5xx:服务器端错误–服务器未能实现合法的请求。

发布了213 篇原创文章 · 获赞 35 · 访问量 85万+

猜你喜欢

转载自blog.csdn.net/u012957549/article/details/105173594