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表示都加载完毕
---恢复内容结束---