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

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

posted @ 2020-08-25 11:01  sinlearn  阅读(252)  评论(0编辑  收藏  举报