前端学习指南HTTPWeb前端之路

HTTP协议的初步认识

2017-03-23  本文已影响148人  朋友喜欢叫我春哥

前言:

对于前端而言除了那个前端“三剑客”以外,其实HTTP协议也是非常重要的。所以自己也就小小的总结一下,在此写下自己对前端部分HTTP的浅识。

http协议是什么??

协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

简单来说,HTTP协议(HTTP-Hypertext transfer protocol)是一种详细规定了万维网不同设备之间互相通信的规则。

URL详解

schema://host[:port#]/path/.../[;url-params][?query-string][#anchor]

scheme: //有我们很熟悉的http、https、ftp以及著名的ed2k,迅雷的thunder等。

host: //HTTP服务器的IP地址或者域名

port#: //HTTP服务器的默认端口是80,这种情况下端口号可以省略。如果使用了别的端口,必须指明,例如tomcat的默认端口是8080 http://localhost:8080/

path: //访问资源的路径

url-params: //所带参数

query-string: //发送给http服务器的数据

anchor: //锚点定位

http://www.mywebsite.com/sj/test;id=8079?name=sviergn&x=true#stuff
Schema: http

host: www.mywebsite.com

path: /sj/test

URL params: id=8079

Query String: name=sviergn&x=true

Anchor: stuff

HTTP的工作流程

第一步:建立TCP/IP连接,客户端与服务器通过Socket三次握手进行连接

三次握手涉及TCP协议,有兴趣请看
关于三次握手

第二步:客户端向服务端发起HTTP请求(例如:POST/login.html http/1.1)

第三步:客户端发送请求头信息,请求内容,最后会发送一空白行,标示客户端请求完毕

第四步:服务器做出应答,表示对于客户端请求的应答,例如:HTTP/1.1 200 OK

第五步:服务器向客户端发送应答头信息

第六步:服务器向客户端发送请求头信息后,也会发送一空白行,标示应答头信息发送完毕,接着就以Content-type要求的数据格式发送数据给客户端

第七步:服务端关闭TCP连接,如果服务器或者客户端增Connection:keep-alive就表示客户端与服务器端继续保存连接,在下次请求时可以继续使用这次的连接

HTTP消息的结构

Request 消息的结构
Markdown
Response消息的结构
Markdown

HTTP请求详解

Markdown
General
Request Header 请求头
Response Headers

基础的状态码

Response 消息中的第一行叫做状态行,由HTTP协议版本号, 状态码, 状态消息 三部分组成。

状态码用来告诉HTTP客户端,HTTP服务器是否产生了预期的Response.

HTTP/1.1中定义了5类状态码, 状态码由三位数字组成,第一个数字定义了响应的类别

1XX 提示信息 - 表示请求已被成功接收,继续处理

2XX 成功 - 表示请求已被成功接收,理解,接受

3XX 重定向 - 要完成请求必须进行更进一步的处理

4XX 客户端错误 - 请求有语法错误或请求无法实现

5XX 服务器端错误 - 服务器未能实现合法的请求

文笔有限,才疏学浅,文中若有不正之处,还望告知。


参考文章

  1. HTTP 协议详解

  2. 大前端学习笔记整理【七】HTTP协议以及http与https的区别

  3. upgrade-insecure-requests

  4. “Upgrade-Insecure-Requests:1”表示什么意思?

上一篇 下一篇

猜你喜欢

热点阅读