首页 > 代码库 > HTTP知识

HTTP知识

---恢复内容开始---

http全过程

当我们打开一个网页的时候都会发生的过程:

输入域名(url)-->DNS映射为IP-->TCP三次握手-->HTTP请求-->HTTP响应

-->(浏览器跟踪重定向地址)-->服务器处理请求-->服务器返回一个html响应-->(视情况决定释放TCP链接)

-->客户端解析HTML-->获取嵌入到HTML中的对象重新发起http请求

TCP三次握手:

client--->server:SYN(发起一个TCP连接,同步报文)

server--->client:SYN+ACK(应答报文,表示已经创建链接)

client--->server:server:ACK(应答报文,表示收到已连接)

四次挥手

client-->server:FIN(请求关闭连接)

server-->client:ACK(收到了连接,但不会立即关闭,等到报文都发送完在回复一个FIN)

server-->client:FIN

client-->server:ACK(收到关闭)

http请求:

关于http请求包含的几部分:

1,请求行

2,请求头

3,空行

4,请求包体(只有post有请求包体)

get/post的区别

1.请求参数:get参数附在URL后面以?隔开,Post参数放在包体中

2.大小限制:GET限制在2048字符,post无限制

3.安全问题:GET参数暴漏在URL中,不如POST安全

http响应:

关于http响应包括的几部分:

1,状态行

2,响应头

3,响应包体

http状态码:

1XX,表示可续发请求

该类型的状态码代表请求已被接受,需要继续处理

100 containue:客户端应当继续发送请求,这个临时响应是用来通知客户端的部分请求已经被服务器接收,且仍未拒绝,客户端应当继续发送请求的剩余部分。

如果请求已经完成,忽略这个响应,服务器必须在请求完成后向客户端发送一个最终响应。

101

服务器已经理解客户端的请求,并通过 update消息头通知客户端采用不同的协议来完成这个请求,只有在切换新的协议更有好处时,才采取类似措施。

102

扩展状态码,代表处理将被继续执行

 

2XX,表示成功

该类型的状态码代表请求已成功被服务器接收,理解并接受

200 OK

请求成功,请求所希望的响应头或数据体将随此响应返回

201 Created

请求已经被实现,而且有一个新的资源已经依据请求的需要而创建,且其URL已经随 Location 头信息返回

*202 Accepted:

服务器已接受请求,但尚未处理。

*204成功,不返回实体主体

 

*206成功,执行了一个范围请求

3XX表示重定向:

301:永久重定向,增加SEO排名

302:临时重定向,禁止POST变为GET

303:另外一个URI

304:判断是否要更新缓存

307:临时重定向

4XX表示客户端错误

400客户端语法错误

401请求未经授权 

403服务器拒绝服务

404请求资源不存在

5XX:服务端错误:

500:不可预期的错误

503此时不能提供服务,稍后恢复正常

客户端解析HTML

onload ready的区别:

ready 表示文档加载完毕,不包括图片

onload表示都加载完毕

 

---恢复内容结束---

HTTP知识