美文网首页
http入门

http入门

作者: 李现的小迷妹 | 来源:发表于2018-06-14 14:26 被阅读0次

http 简介

http 历史

1989, 蒂姆。伯纳斯-李在CERN发起

1999年6月,IETF(互联网工程小组)公布的RFC(征求意见稿) 2616/HTTP1.1(现在常用)

2014年12月,IETF(互联网工程小组)将HTTP2 提交IESG(互联网工程指导小组掌舵小组)讨论

2015年5月,RFC 7540(也就是HTTP2)正式发表(最新版的谷歌支持,别的支持还不是很好)

http协议概述

http协议实际上是工作在客户端和浏览器端的一个协议,它主要是在http之上的一个协议。

http.jpeg

(1)用户在浏览器输入一个网址(可能是电脑端或者手机端等)

(2)浏览器去解析这个网址,去做相应的处理,根据这个网址去发一个符合HTTP协议的请求消息,带上一些具体的内容

中间: 会经过一些环节,可能是http代理,正向代理,反向代理,会到一个具体的服务器上

(3)具体的服务器呢,因为他收到的是一个标准的http请求,所以呢,他知道怎么样去解析这么个请求,他解析完以后,会拿到具体的请求的内容,然后去根据这些内容做一些相应的操作,做完操作以后,服务器会组织一个响应消息,这个响应消息当然也是符合http协议的一个消息

(4)然后再返回给浏览器,浏览器拿到这样的一个响应消息,浏览器就会根据这个响应消息去做具体的页面的渲染,如果是CSS文件,就去渲染,如果是js文件,就去执行js文件

交互.jpeg

如何查看http请求和响应?

chrome-->network

  1. filter 过滤,可以按照域名来过滤
  2. 还可以根据具体的响应的内容来过滤
  3. 左边是http列表,就是累计发出的http请求,在左边都能看到
  4. 右边的话,是具体的http请求的 ,响应请求的一个具体内容
  5. 具体每一项的简单介绍:
  • response header 就是http的响应头
  • request header 就是请求的请求头,包含请求的各个字段,还有cookie ,请求的body
  • response 就是具体的响应体
  • preview 是对响应体做的一个简单处理,比如如果是一个json的话,谷歌会帮你格式化一下,看的时候比较方便
  • cookie 也是帮我们格式化以后好看的一个页面
  • timing 能看到请求的一个时间情况

HTTP 请求头

--host: 初始URL中的主机和端口

--accept: 浏览器可接受的MIME类型

--accept-charset: 浏览器可接受的字符集

--accept-encoding: 浏览器能够进行解码的数据编码方式,比如gzip.

--accept-language:浏览器所希望的语言种类

--connection: 表示是否需要持久连接.因为TCP连接是非常耗资源的,如果通过这个告诉浏览器的话,他就不会把连接断开了。

--content-length: 表示消息正文的一个长度。然后服务端可以根据具体的长度来取具体的消息内容。

--cookie: cookie 字符串。

--referer: 包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。

--user-agent: 浏览器类型,如果servlet返回的内容与浏览器类型有关则该值非常有用。


http响应头

--access-control-allow-origin: 指定哪些站点可以参与跨站资源共享。

--content-length: 响应体的字节长度。

--content-type: 设置响应体的mime类型。

--date: 消息发送的时间和日期。

--server: 服务器名称。

--set-cookie: 设置http cookie.

--transfer-encoding: 设置传输实体的编码格式,目前支持的格式:chunked, compress,deflate,gzip,identity


Http Method:指示针对给定资源要执行的期望动作

方法 作用
get 用于获取数据
head 与get请求的响应结果相同,但没有响应体
post 用于将实体提交到指定的资源,通常导致状态或服务器上的副作用的更改
put 用于创建或更新指定资源
delete 删除指定的资源

怎么区分这些method?

-安全性,资源不发生变化;

-幂等性,相同的请求无论执行几次,结果都是相同的;

方法 特性
get 安全且幂等
head 安全且幂等
post 不安全且不幂等
put 不安全且幂等
delete 不安全且幂等

http status code

分类 作用
1XX 消息,101 switching protocols
2XX 成功,200 OK, 201 created
3XX 重定向,301 永久重定向,302,临时重定向,304 告诉浏览器,资源没变化
4XX 客户端错误 403,404
5XX 服务器错误 500 服务器彻底挂了, 503 服务器临时挂了

content-type

-请求和响应的http内容类型
--type/subtype

常见的内容类型
响应text/html, text/css,text/javascript
给后端application/x-www-form-urlencoded
给后端multipart/form-data
给后端application/json

referer 防盗链

给出一段后端代码举个例子:

if(/.*\.jpg/.test(this.path)){
    let referer = this.request.header.referer;
    if(referer.indexOf('my.qunar.com')>-1){
        yeild next;
    }else{
        this.response.redirect('/rejected.jpg');
    }
    return;
}

意思就是说在我的域名下才能看到图片,否则的话,就返回rejected图片;这个很有限,防机器人抓取是放不了的;另外还可以进行网络流量来路统计;


user-agent

厂家标志/版本号(对它的解释)
厂家标志/版本号(对它的解释)
厂家标志/版本号(对它的解释)

作用:区别移动端、pc端;用户设备统计


HTTP缓存机制

WechatIMG16802.jpeg

相关文章

  • 入门:HTTP入门

    问题 1.HTTP 请求包括哪些部分2.HTTP 响应包括哪些部分3.如何用Chrome开发者工具查看 HTT...

  • 爬虫入门系列(六):正则表达式完全指南(下)

    爬虫入门系列目录: 爬虫入门系列(一):快速理解HTTP协议 爬虫入门系列(二):优雅的HTTP库requests...

  • HTTP入门

    HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准。通过使用网页浏览器、网络爬虫或者其它的工具,客...

  • http入门

    http 简介 http 历史 1989, 蒂姆。伯纳斯-李在CERN发起 1999年6月,IETF(互联网工程小...

  • http入门

    一、URI 是什么 全程:统一资源标识符,俗称网址 URI 分为 URL 和 URN URN Google URN...

  • HTTP入门

    基本概念 三个基本概念 URI:统一资源资源标志符(Uniform Resource Identifier) HT...

  • HTTP入门

    博主最近在复习HTTP,之前用书主要是《计算机网络》谢希仁版本和上野宣的《图解HTTP》,最近结合网上博客,进行复...

  • http入门

    一,http请求包括: 1 动词 路径 协议/版本 2 Key1: value1 2 Key2: value2 2...

  • HTTP入门

    浏览器负责发起请求 服务器在80端口接收请求 服务器负责返回内容(响应) 浏览器负责下载响应内容HTTP的作用就是...

  • http入门

    图中: 浏览器负责发起“请求”。 服务器在80端口接受“请求”。 服务器负责返回内容(响应)。 浏览器负责下载响应...

网友评论

      本文标题:http入门

      本文链接:https://www.haomeiwen.com/subject/ruzasftx.html