• JavaWeb--Http协议


    HTTP协议


    什么是HTTP?

    HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。

    • 文本: html,字符串~ ...
    • 超文本:图片,音乐, 视频, 定位, 地图
    • 端口: 80
    • HTTPS: 安全的HTTP     443
    • 两个版本:
      • HTTP1.0:客户端可以与web服务器连接后,只能获得一个web资源,断开连接
      • HTTP1.1:客户端可以与web服务器连接后,可以获得多个资源

    HTTP请求

    客户端 ----发起请求(request)---- 服务器

    请求行

    请求方式: GET/POST HEAD/DELEDE/PUT/TRACT

    • get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL栏显示数据内容,不安全,但是高效。
    • post: 请求能够携带的参数限制,大小没有有限制,会在浏览器的URL栏不会显示数据内容,安全,但不高效。

    消息头

    • Accept: 告诉浏览器,它所支持的数据类型
    • Accept-Encoding:支持的编码格式 UTF-8 GBK GB2312
    • Accept-Language: 语言环境
    • Cache-Control: 缓存控制
    • Connection:请求完成是断开还是保持连接
    • Cookie:缓存
    • Host:主机号
    • Refresh: 告诉客户端,多久刷新一次
    • Location:让网页重新定位
    Request URL: https://www.baidu.com/   //请求地址
    Request Method: GET								   //get方法和post方法
    Status Code: 200 OK                  //状态码
    Remote Address: 14.215.177.38:443    // 远程地址
    Referrer Policy: no-referrer-when-downgrade
    
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
    Accept-Encoding: gzip, deflate, br
    Accept-Language: zh,zh-CN;q=0.9
    Cache-Control: max-age=0
    Connection: keep-alive
    Cookie: PSTM=1594296714; BAIDUID=19D8FA91D88C0C015880D299FF456E00:FG=1; BD_UPN=12314753; BIDUPSID=70F48A94E0D47DAD6C644E8FCB359A5D; hide_hotsearch=1; sug=3; ORIGIN=2; bdime=0; MCITY=-%3A; BDUSS=UcxcWNxS1ZkWlAxMWIySzJkRlJqS0NVaEphVFJrWjRLQ0FqYVJVc3hJMTloMWxmRVFBQUFBJCQAAAAAAAAAAAEAAABtMSV1x-XT8NrkxLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH36MV99-jFfZ; BDUSS_BFESS=UcxcWNxS1ZkWlAxMWIySzJkRlJqS0NVaEphVFJrWjRLQ0FqYVJVc3hJMTloMWxmRVFBQUFBJCQAAAAAAAAAAAEAAABtMSV1x-XT8NrkxLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH36MV99-jFfZ; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0; delPer=0; BD_CK_SAM=1; PSINO=6; BD_HOME=1; ZD_ENTRY=baidu; H_PS_PSSID=1457_32569_32531_31660_32045_32117_31708_26350_32506; sugstore=0
    Host: www.baidu.com
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36
    

    HTTP响应

      服务器     -----响应请求(response)----  客户端
    

    响应状态码

    200: 请求响应成功 200
    3xx: 请求重定向
    4xx: 找不到资源 404
    5xx: 服务器代码错误 500 502(网关错误)

    Cache-Control: private       		//缓存控制
    Connection: keep-alive				//连接:
    Content-Encoding: gzip				//编码
    Content-Type: text/html;charset=utf-8  //类型
    Date: Thu, 20 Aug 2020 05:32:58 GMT
    Expires: Thu, 20 Aug 2020 05:32:58 GMT
    Server: BWS/1.1
    Set-Cookie: BDSVRTM=453; path=/
    Set-Cookie: BD_HOME=1; path=/
    Set-Cookie: H_PS_PSSID=1457_32569_32536_31660_32045_32117_31708_26350_32506; path=/; domain=.baidu.com
    Strict-Transport-Security: max-age=172800
    Traceid: 1597901578043997236210089786624016751666
    Transfer-Encoding: chunked
    X-Ua-Compatible: IE=Edge,chrome=1
    

    面试题:当你的浏览器中地址栏,输入地址并回车的一瞬间到页面能够展示回来,经历了什么?

  • 相关阅读:
    驴的故事
    leetcode125. Valid Palindrome
    C#处理Excel的帮助类
    用SVN进行团队开发协作生命周期详解
    .net反编译原理
    科学使用Log4View2查看日志
    NLog日志框架使用探究-2
    NLog日志框架使用探究-1
    从零开始制作 NuGet 源代码包(全面支持 .NET Core / .NET Framework / WPF 项目)
    十分钟学会 Markdown 基本语法
  • 原文地址:https://www.cnblogs.com/sinlearn/p/13558478.html
Copyright © 2020-2023  润新知