一、简介

    HTTP(Hyper Text Transfer Protocol)超文本传输协议,是一种请求/响应式的协议,它是应用层协议,承载于TCP协议之上,默认端口为80,https默认端口为443。

二、HTTP请求和响应

    请求由三部分组成:请求行、消息报头、请求正文;

    请求行中包含了请求方法有:get,post,put,head,delete,trace,

    HTTP协议_客户端

    响应也由三部分组成:状态行、消息报头、响应报文

    状态行中有状态代码,状态代码有三位数字组成:1xx:表示请求已接收,继续处理;2xx:请求已被成功接收;3xx:进行更近一步操作;4xx:客户端错误;5xx:服务器端错误;

    HTTP协议_web服务器_02

三、HTTP协议通信过程

    HTTP协议_客户端_03

    1、建立TCP连接:在http工作之前,web浏览器首先与web服务器建立连接,该连接是通过TCP协议来完成的,所以在浏览器地址栏中输入www.tsinghua.edu.cn后,浏览器会先在DNS本地缓存中查找解析,直到找到对应的ip,返回给浏览器,获取IP后就开始请求TCP建立三次握手;

    2、TCP连接完成,Web浏览器向Web服务器发送请求响应,之后会发送一些空白行来通知服务器,表示已经结束该报文信息的发送,GET/sample/html.index HTTP/1.1;

    3、Web服务器收到请求,向浏览器发送响应请求,并发送空白行表示信息发送结束,如HTTP/1.1 200 ok;

    4、客户端接收到服务器的返回信息通过浏览器显示;

    5、客户端与服务器端断开连接。