Http协议

278 阅读2分钟

简介

  • http协议是用于客户端和服务器端通信的。

  • 请求访问文本或图片等资源的一方,我们叫做客户端(Client);负责接收,提供响应的一方称为服务器端(Server)

  • http工作原理:客户端连接web服务器==》发送http请求==》服务器接收请求并返回http响应==》释放tcp连接==》客户端浏览器解析HTML内容。

特点

  • http协议是无状态协议,每次请求独立无联系,协议对于事务处理没有记忆能力

  • HTTP/1.0缺点:每个TCP连接只能发送一个请求,发送数据完毕后,连接就关闭了,如果还要请求就必须要新建一个请求连接。

  • http1.1:引入cookie技术,客户端进行请求之后,服务器生成cookie记住向谁发送,接着在响应的时候,就将cookie添加在响应中,客户端保存cookie。

    其后客户端再进行请求的时候就会添加cookie,这样服务器就能识别是否为有记录的请求。

  • 交流的简单流程:客户端

    发起连接
    ,客户端
    发起请求
    ,服务器端
    响应请求
    ,服务器端
    关闭连接

  • HTTP是基于TCP/IP协议的应用层协议

消息结构

  • 请求消息:请求行,请求头(请求方法,请求url域名,状态码,IP之、远程地址),一个空行,消息主提。

    • 消息头:Accept为告诉服务器接收哪些格式的文件,Accept-Encoding为接收的编码方式,Accept-Language为接收的语言,Cache-Control为是否使用缓存,Connection为连接方式,Cookie为向服务器发送的Cookie信息,Host为服务器域名。

  • 回应消息:server:服务器名称;content-type:响应的数据类型;content-encoding:数据编码格式, Content-Length为服务器返回给客户端的内容的长度,Keep-Alive为缓存的时间,Server为服务器的相关信息。

  • HTTP协议使用URI定位互联网上的资源。URI包括URL和URN

    • URI是统一资源标识符;URL是统一资源定位符;URN是统一资源名称

    • URI强调资源标记的命名,给出了标志名+地址

    • URL再www万维网中就主要是用地址既当作标志名又当地址。

请求方法

  • 常见get(获取资源数据)和post(提交资源数据),还有head(获取报文首部)、options(询问uri指定资源支持的方法)、put(传输文件)、delete(删除文件)、trace、connect

  • HTTP超文本传输协议是一个基于请求与响应模式的,无状态的,应用层的协议,常基于TCP的连接方式。