zoukankan      html  css  js  c++  java
  • HTTP协议

    1、HTTP协议概述

    HTTP是什么?超文本传输协议。

    描述客户端和服务器端的数据标准,该协议由W3C维护和管理。

    版本:

    HTTP1.0:每次发出请求都需要建立网络连接

    HTTP1.1:(主流)在一次网络连接上发出多次请求和得到多次响应。多了一些头。

    明确:

    浏览器遇到以下标记时,会自动发出请求

    2、HTTP协议的组成

    2.1请求部分

    2.2响应部分

    3、请求部分详解

    3.1请求行:

    GET /app1/1.html HTTP/1.1

    GET:请求方式。

    常用的请求方式:GET(默认的)、POST、HEAD、OPTIONS等

    GET:默认的

    http://localhost:8080/app1/1.html?username=abc&password=123

    提交的数据显示出来了,相对不安全,协议的第一行有长度限制,<1kb.

    (有请求数据时推荐)POST:可以通过<form method=”post”/>

                        username=abc&password=123

                           提交的数据在请求正文中的,相对安全,长度没有限制。

                  /app1/1.html :请求的资源地址。(URI)

                         URL:协议+主机:端口+资源地址

                                http://localhost:8080/app1/1.html

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

    3.2请求消息头:(做好笔记,记住常用的头)

    作用:向服务器端传递附加信息(暗号指令)

    l  Accept:告知服务器,客户端可以接受的数据类型(MIME类型)

    文件系统:通过文件的扩展名区分不同的文件的。txt jpeg

    MIME类型:大类型/小类型。  txt--->text/plain   html---->text/html js---->text/javascript (具体对应关系:Tomcatconfweb.xml)

    l  Accept-Encoding:告知服务器,客户端可以接受的压缩编码。比如gzip

    l  Accept-Language:告知服务器,客户端支持的语言。

    l  Referer:告知服务器,从哪个页面过来的。

    作用:统计广告的投放效果;防止盗链。

    l  Content-Type:告知服务器,请求正文的MIME类型

    默认类型:application/x-www-form-urlencoded(表单enctype属性的默认取值)

    具体体现:username=abc&password=123

    其他类型:multipart/form-data(文件上传时用的)

    l  If-Modified-Since:告知服务器,当前访问的资源,缓存中的文件的最后修改时间。

    l  User-Agent:告知服务器,浏览器的类型

    l  Content-Length:请求正文的数据长度

    l  Cookie:(*****重要)会话管理有关

    3.3请求正文:

    数据能提交到服务器,表单中的输入域必须有name属性值

    POST请求是才有正文

    username=abc&password=123

    4、响应部分详解

    4.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:响应吗描述

    4.2响应消息头:

    作用:服务器端向客户端传递的附加信息(暗号指令)

    l  Location:告知客户端,你去访问的地址。

    和302/307实现请求重定向

    l  Content-Encoding:告知客户端,响应正文使用的压缩编码(gzip)

    l  Content-Length:告知客户端,响应正文的长度

    l  Content-Type:告知客户端,响应文正的MIME类型。默认text/html

    l  Refresh:告知客户端,定时刷新

    l  Content-Disposition:告知客户端,用下载的方式打开

    attachment;filename=23.jpg

    l  Set-Cookie:(*****)会话有关

    -------------

    l  Expires: -1 控制时间的

    l  Cache-Control: no-cache (1.1) 

    l  Pragma: no-cache   (1.0)

    三头一块用,用于告知浏览器,不要缓存。

    ----------------------

    4.3响应正文:

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

  • 相关阅读:
    图片灰度化,并且resize图片
    C语言学习笔记
    路飞学城14天集训营作业2—三级菜单
    路飞学城14天集训营作业4—员工信息表
    路飞学城14天集训营作业3—购物车
    路飞学城14天集训营作业1—登陆认证
    js钩子函数
    APP2.0后台控件API
    KindEditor 插件API使用说明
    TreeView插件 API
  • 原文地址:https://www.cnblogs.com/snow1314/p/5248620.html
Copyright © 2011-2022 走看看