HTTP协议基础

HTTP

webservice = http + xml
Rest = Http + JSON
各种API也一般是使用http+XML/JSON来实现的
学了HTTP之后,学ajax很好理解。

协议

计算机中的协议和现实中的协议是一样的,一式双份/多份,双份/多方都遵从共同的规范,这个规范就可以称为协议。

计算机之所以能让全世界互通,协议是功不可没的,计算机如果各说不一,那么根本谁都听不懂谁。
协议比如:ftp、http、tcp、ip等

什么是http协议

在这里插入图片描述

HTTP请求信息和响应信息格式

1、请求

  • 请求行
  • 请求头
  • 请求空行
  • 请求体
请求行

请求行又分为三部分:

  • 请求方法:GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS
    HEAD和GET基本一致,只是不返回内容,可能只需要返回状态等,不需要返回内容即没有响应体。
    TRACR:是你用了代理上网,比如用代理访问www.163.com,你想看看代理有没有修改你的HTTP请求,可以用TRACE测试一下,163服务器会把最后收到的请求返回给你看。
    OPTIONS返回服务器可用的请求方法
    这些请求方法虽然在HTTP协议里面规定了。但是WEB服务器未必允许或者支持这些方法
  • 请求路径
  • 所用的协议

比如:POST /hello HTTP/2.0
GET请求没有请求体,在url后面。POST请求有请求体。

请求头

格式为key:value

包含主体长度等信息Content-type,不然对方不知道要收多少数据。

Content-Type是指http/https发送信息至服务器时的内容编码类型,contentType用于表明发送数据流的类型,服务器根据编码类型使用特定的解析方式,获取数据流中的数据。

在网络请求中,常用的Content-Type有如下:

  • text/html, text/plain, text/css,text/javascript, image/jpeg, image/png, image/gif,
    application/x-www-form-urlencoded, multipart/form-data, application/json, application/xml 等。
  • 其中:text/html, text/plain, text/css, text/javascript, image/jpeg, image/png, image/gif, 都是常见的页面资源类型。
  • application/x-www-form-urlencoded, multipart/form-data, application/json, application/xml 这四个是ajax的请求,表单提交或上传文件的常用的资源类型。

POST的时候使用的是application/x-www-form-urlencoded。

不包含主体长度就无法知道获得多少数据,不包含Context-Type就不知道使用什么进行解析。

2、响应

  • 响应行:
  • 响应头:
  • 响应空行:
  • 响应体:
响应行
  • 协议版本
  • 状态码
  • 状态文字

HTTP/2.0 200 OK
状态码:用来反映服务器响应情况的。
最常见的:200 OK、404 NOT FOUND
状态文字是用来描述状态码的,便于人的观察。
200-服务器成功返回网页
301/302-永久/临时重定向,重定向会丢失数据,使用307不会丢失数据,保持原有的数据。
304 NOT MODIFIED-未修改,可以尝试从缓存中取,客户端会发给服务器时间戳和ETag,会和服务器的时间戳和ETag进行比较,如果在这个之后没修改就从缓存中拿

在这里插入图片描述
在这里插入图片描述

响应头

格式为key:value
如:Content-type:text/html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值