HTTP笔记

本文深入解析HTTP协议的工作方式,包括URL结构、HTTP报文组成(请求与响应)、主要的RequestMethods如GET、POST、PUT、DELETE等,以及状态码、头部字段如Content-Type和Cache-Control等关键概念。

目录

工作方式

URL和HTTP报文相关概念

Request Methods 

Status code

其他


http一种网络传输协议,位于tcp/ip协议族的最顶层(应用层)
英文:Hypertext Transfer Protocol 超文本传输协议

HTML用于在网络上请求和传输HTML内容
英文:Hypertext Markup language 超文本标记语言

超文本:指的是html中可以链向别的文本的链接 heyperlink

工作方式

浏览器拼装 HTTP 报文并向服务器请求 ->服务器处理请求并返回响应报文一>浏
览器接收到响应报文后处理并使用渲染引擎来渲染出界面


Android 代码把开发者写入的 URL 和其他请求信息拼装成 HTTP 报文,以标准
形式给服务器发送 HTTP 请求,服务器处理请求后返回标准 HTTP 报文,客户端处理
报文后得到真正的数据,然后开发者的回调代码对输出进行处理

URL和HTTP报文相关概念

URL格式:协议类型、服务器地址+端口、路径
协议类型://服务器地址:端口号/路径

报文格式:
请求报文
请求行:GET(method)/users(path)HTTP/1.1(http version)
Headers:包含Host、Content-type、Content-length
Body:内容

响应报文
状态:HTTP/1.1 (http version) 200(status code) OK(status message)
Headers:包含Content-type、cache-control、vary、etag、content-encoding
Body:内容  

Request Methods 

GET用于获取资源、对服务器数据不进行修改、不发送Body
POST用于增加或者修改资源、发送给服务器的内容写在Body里面
PUT用于修改资源、发送给服务器的内容写在Body里面
DELETE用于删除资源、不发送Body
HEAD和get使用相同、区别在于响应中没有body


Status code

状态码,三位数字用于对响应结果做出类型化描述
    1XX临时性消息,如100-继续发送、101-正在切换协议
    2XX成功,200-OK、201-创建成功
    3XX重定向,301永久移动、302暂时移动、304内容未改变
    4XX客户端错误,400客户端请求错误、401认证失败、403被禁止、404找不到
    5XX服务器错误,500服务器内部错误 

其他


Header是http消息的metadata(元数据)


Host目标主机


Content-type指定body类型,主要有4种
    text/html:body中放回html文本
    x-www-form-urlencoded:web页面纯文本表单的提交方式
    multitype/form-data:web页面含有二进制文件时的提交方式
    application/json,image/jpeg,application/zip...:单项内容,用于web api的响应或者post put请求


Content-length指定Body的长度


Transfer:chunked用于当响应发起时,内容长度还没能确定的情况下。conten-length不能同时使用。用途是尽早给出响应,减少用户等待。


Location指定重定向的目标URL


User-Agent用户代理,即是谁实际发送请求、接受响应的,例如手机浏览器


Range/Accept-rage按范围取数据
    Accpet-rage:bytes 响应报文中出现,表示服务器支持按字节来取范围数据
    range:bytes=<start>-<end>请求报文中出现,表示需要取哪段数据
    content-range:<start>-<end>/total 响应报文中出现,表示发送的是哪段数据、
    断点续传、多线程下载。


Accept:客户端能接受的数据类型


Accept-Charset:客户端接受的字符集


Accept-Encoding:客户端接受的压缩编码类型


Content-encoding:压缩类型


Cache客户端或中间网络节点缓存数据,降低从服务器获取数据的频率,以提高网络性能
Rest

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小猿成长

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值