HTTP详解

什么是HTTP

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

  • 文本:html,字符串...

  • 超文本:图片,音乐,视频,定位,地图....

  • 80

HTTPS:安全的

  • 443

两个时代

  • http1.0

    • HTTP/1.0 : 客户端可以与web服务器连接后,只能获得一个web资源,断开连接

  • http2.0

    • HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源。

Http请求

  • 客户端---发送请求(Request)--服务器

百度:

Request URL: https://www.baidu.com/    请求地址
Request Method: GET     get方法/post方法
Status Code: 200 OK     状态码:200
Remote Address: 14.215.177.38:443
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9  语言
Cache-Control: no-cache
Connection: keep-alive	

 (1)请求行 

  • 请求行中的请求方式:GET

  • 请求方式:GET,POST,HEAD,DELETE,PUT,TRACT...

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

    • post:请求能都携带的参数没有限制,大小没有限制,不会再在浏览器的URL地址拦显示数据内容,安全,但是不高效

(2)消息头

  • Accept: 告诉浏览器,它所支持的类型
  • Accept-Encoding: 支持哪种编码格式  GBK  UTF-8 GB2312  ISO8859-1
  • Accept-Language: 告诉浏览器,它的语言环境
  • Cache-Control: 缓存控制
  • Connection: 告诉浏览器,请求完成是断开还是保持连接
  • Host:主机

Http响应

  • 服务器---响应---客户端

百度:

Cache-Control: private                 缓存控制
Connection: keep-alive                 连接保持
Content-Encoding: gzip                 编码
Content-Type: text/html;charset=utf-8  类型

 

1.响应体

  • Accept: 告诉浏览器,它所支持的类型
  • Accept-Encoding: 支持哪种编码格式  GBK  UTF-8 GB2312  ISO8859-1
  • Accept-Language: 告诉浏览器,它的语言环境
  • Cache-Control: 缓存控制
  • Connection:告诉浏览器,请求完成是断开还是保持连接
  • Host:主机
  • Refresh:告诉客户端,多久刷新一次
  • Location:让网页重新定位

2.响应状态码(重点)

  • 200:请求响应成功
  • 3xx:请求重定向
    • 重定向:你重新到我给你的新位置去

  • 4xx:找不到资源 404
    • 资源不存在

  • 5xx:服务器代码错误 500 502(网关错误)

扩展:

常见面试题:

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

 

  1. 作为客户端,浏览器接收到地址之后,首先会到windows系统文件hosts中查找是否有需要劫持的ip地址,若没有则需要询问DNS域名解析服务器该域名对应的ip地址。(DNS缓存,浏览器缓存,系统缓存,路由器缓存,IPS服务器缓存,根域名服务器缓存,顶级域名服务器缓存,主域名服务器缓存)

  2. 获取到正确的ip地址后,客户端会与服务器建立TCP连接(三次握手),(网络层、数据链路层、物理层)

  3. 客户端向服务端发送请求,包含请求行、请求头、请求正文。多种请求方式(GET,POST、PUT等)

  4. 服务端处理请求,并返回响应,包含状态码、响应头、响应体

  5. 浏览器收到响应,解析渲染页面,展示出来

  6. 断开连接(http1.0短连接,http1.1长连接)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值