Http协议

高洛峰
高洛峰original
2016-10-13 16:44:321548parcourir

一、Http协议的概述

  1、HTTP是什么?超文本传输协议。
  2、描述客户端和服务器端的数据标准,该协议由W3C维护和管理。
    版本:
    HTTP1.0:每次发出请求都需要建立网络连接
    HTTP1.1:(主流)在一次网络连接上发出多次请求和得到多次响应。多了一些头。

  3、明确:浏览器遇到以下标记会自动发出请求

    

    
    Http协议

二、Http协议的组成

  1、请求部分

1.png

 2、响应部分

1.png

三、请求部分详解

  1、请求行:
    GET /app1/1.html HTTP/1.1
    GET:请求方式。
    常用的请求方式:GET(默认的)、POST、HEAD、OPTIONS等
    GET:默认的
    http://localhost:8080/app1/1.html?username=abc&password=123
    提交的数据显示出来了,相对不安全,协议的第一行有长度限制,    (有请求数据时推荐)POST:可以通过


    username=abc&password=123
    提交的数据在请求正文中的,相对安全,长度没有限制。

    /app1/1.html :请求的资源地址。(URI)
    URL:协议+主机:端口+资源地址
    http://localhost:8080/app1/1.html

    HTTP/1.1:客户端浏览器使用的协议的版本。

  2、请求消息头:(做好笔记,记住常用的头)
    作用:向服务器端传递附加信息(暗号指令)
      Accept:告知服务器,客户端可以接受的数据类型(MIME类型)
    文件系统:通过文件的扩展名区分不同的文件的。txt jpeg
    MIME类型:大类型/小类型。 txt--->text/plain html---->text/html js---->text/javascript (具体对应关系:Tomcat\conf\web.xml)
      Accept-Encoding:告知服务器,客户端可以接受的压缩编码。比如gzip
    Accept-Language:告知服务器,客户端支持的语言。
    Referer:告知服务器,从哪个页面过来的。

1.png

    作用:统计广告的投放效果;防止盗链。
    Content-Type:告知服务器,请求正文的MIME类型
    默认类型:application/x-www-form-urlencoded(表单enctype属性的默认取值)
    具体体现:username=abc&password=123
    其他类型:multipart/form-data(文件上传时用的)
    If-Modified-Since:告知服务器,当前访问的资源,缓存中的文件的最后修改时间。
    User-Agent:告知服务器,浏览器的类型
    Content-Length:请求正文的数据长度
    Cookie:(*****重要)会话管理有关

  3、请求正文:
    数据能提交到服务器,表单中的输入域必须有name属性值
    POST请求是才有正文
    username=abc&password=123

四、响应部分详解

   1、响应部分详解
     响应行:
      HTTP/1.1 200 OK
      HTTP/1.1 :说明服务器端用的协议版本
      200 :响应状态码
      1xx 2xx 3xx 4xx 5xx
      2xx:处理完毕
      4xx:请求有误
      5xx:服务器有误
      记住常用的响应码:
      200:一切正常
      302/307:请求重定向
      304:服务器上的资源没有发生改变
      404:访问的地址不存在
      500:服务器端错误
      OK:响应吗描述

   2、响应消息头:
      作用:服务器端向客户端传递的附加信息(暗号指令)
      Location:告知客户端,你去访问的地址。
      和302/307实现请求重定向
      Content-Encoding:告知客户端,响应正文使用的压缩编码(gzip)
      Content-Length:告知客户端,响应正文的长度
      Content-Type:告知客户端,响应文正的MIME类型。默认text/html
      Refresh:告知客户端,定时刷新
      Content-Disposition:告知客户端,用下载的方式打开
      attachment;filename=23.jpg
      Set-Cookie:(*****)会话有关
      Expires: -1 控制时间的


      Cache-Control: no-cache (1.1) 
      Pragma: no-cache (1.0)
      三头一块用,用于告知浏览器,不要缓存。


    3、响应正文:
      浏览器解析的正文内容,右键查看源码一样的。


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Articles Liés

Voir plus