web框架学习前复习——http协议

                            http协议

http协议也叫超文本传输协议。主要由请求部分和响应部分组成。
协议有2个版本
HTTP1.0:每次发出请求都需要建立网络连接
HTTP1.1:(主流)在一次网络连接上发出多次请求和得到多次响应。多了一些头。
http协议请求部分由客户端发出主要包括请求行,请求消息头,请求正文
请求行:GET /app1/1.html HTTP/1.1

    GET:请求方式。
    常用的请求方式:GET(默认的)、POST、HEAD、OPTIONS等
    GET示例:http://localhost:8080/app1/1.html?username=abc&password=123可以看出提交的数据username和password都显示出来了,相对不安全,协议的第一行有长度限制,<1kb.
    POST示例:可以通过<form method=”post”/>username=abc&password=123提交的数据在请求正文中的,相对安全,长度没有限制。
    /app1/1.html :请求的资源地址。(URI)
    URL:协议+主机:端口+资源地址,示例:http://localhost:8080/app1/1.html
    HTTP/1.1:客户端浏览器使用的协议的版本。

请求消息头:向服务器端传递附加信息(暗号指令)

    Accept:告知服务器,客户端可以接受的数据类型(MIME类型)
    文件系统:通过文件的扩展名区分不同的文件的。txt jpeg
    MIME类型:大类型/小类型。  txt--->text/plain   html---->text/html js---->text/javascript (具体对应关系:Tomcat\conf\web.xml)
    Accept-Encoding:告知服务器,客户端可以接受的压缩编码。比如gzip
    Accept-Language:告知服务器,客户端支持的语言。
    Referer:告知服务器,从哪个页面过来的。作用:统计广告的投放效果;防止盗链
    Content-Type:告知服务器,请求正文的MIME类型。默认类型:application/x-www-form-urlencoded(表单enctype属性的默认取值)具体体现:username=abc&password=123。其他类型:multipart/form-data(文件上传时用的)
    If-Modified-Since:告知服务器,当前访问的资源,缓存中的文件的最后修改时间。
    User-Agent:告知服务器,浏览器的类型
    Content-Length:请求正文的数据长度
    Cookie:会话管理有关储存会话相关的数据
        Cookie详解:
            属性:name:Cookie的名称,必要的属性
            value:Cookie的取值(不能为中文),必要的属性
            -------------------以下为可选属性
            path:Cookie的路径默认值就是写cookie的那个资源的访问路径
            maxAge:Cookie的最大生存时间。默认是在浏览器的内存中。
            domain:Cookie的域名(网站)。默认就是写cookie的那个资源所属的网站。
            version:版本号
            comment:注释

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

    POST请求是才有正文
    username=abc&password=123

响应行:HTTP/1.1 200 OK

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

响应消息头:服务器端向客户端传递的附加信息(暗号指令)

    Location:告知客户端,你去访问的地址。和302/307实现请求重定向
    Content-Encoding:告知客户端,响应正文使用的压缩编码(gzip)
    Content-Length:告知客户端,响应正文的长度
    Content-Type:告知客户端,响应文正的MIME类型。默认text/html
    Refresh:告知客户端,定时刷新
    Content-Disposition:告知客户端,用下载的方式打开
        attachment;filename=23.jpg
    Set-Cookie:会话有关
    把Cookie写给客户端:HttpServletResponse.addCookie(Cookie c):实际上就是向客户端发送了一个响应消息头。注意:客户端只能保存一个网站最多20个Cookie数据,总共最多300个。每个Cookie的大小不能超过4kb。
    服务器端获取客户端带来的Cookie:Cookie [] = HttpServletRequest.getCookies();
    注意:domain+path+name唯一确定一个Cookie。
    -----------------
    Expires: -1 控制时间的
    Cache-Control: no-cache (1.1)  
    Pragma: no-cache   (1.0)
    三头一块用,用于告知浏览器,不要缓存。

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

就是服务器发送给浏览器在页面显示的内容(源码)浏览解析后展现出来。

猜你喜欢

转载自blog.csdn.net/u011456867/article/details/52072060