HTTP协议
1.1什么是HTTP协议
HTTP(Hypertext transport protocol)是超文本传输协议。是一种应用层协议,由W3C制定,它定义了浏览器(或者其他客户端)与Web服务器之间通讯的过程及数据格式。
2.2通讯的过程
- step1:浏览器建立与Web服务器之间的连接(Socket)。
- step2:浏览器要将请求数据打包(请求数据包),然后发送给Web服务器。
- step3:Web服务器将处理结果打包(响应数据包),然后发送给浏览器。
- step4:Web服务器关闭连接。
早期如果浏览器要再发请求,就必须重新建立一个新的连接。随着技术发展,一个页面可能会进行成百上千次的请求,因为简历链接是一个很耗资源的事情,后面浏览器支持了长链接,所谓长链接就是与Web服务器之间建立一次链接,可以维持一段时间,发送多次请求。
2.3数据格式
1)请求数据包
①请求行:请求方式+请求资源路径+协议描述。
②若干消息头:消息头是一些键值对,一般由W3C定义,有特定的含义。浏览器和服务器之间,可以通过发送消息头来传递一些特定的信息,比如:浏览器可以通过user-agent消息头来通知服务器浏览器的类型和版本。
③实体内容:只有当请求方式为post时,浏览器才会将请求参数添加到实体内容里面,如果请求方式为get,浏览器会将请求参数添加到请求资源路径的后面。
2)响应数据包
①状态行:协议描述+状态码+状态描述。
②若干消息头:服务器也可以发送一些消息头给浏览器,比如content-type,告诉浏览器服务器返回的数据类型和编码格式(字符集,比如:UTF-8、ISO-8859-1)。
③实体内容:程序处理之后,返回的结果。
网友评论