第一篇:语言基础
第二篇:设计模式
第三篇:数据库
第四篇:计算机网络
第五篇:操作系统
第六篇:LInux
第七篇:数据结构
第八篇:智力题
[1]一次网页的访问从URL开始,说一下整个访问的过程
客户端获取URL - > DNS解析 - > TCP连接 - >发送HTTP请求 - >服务器处理请求 - >返回报文 - >浏览器解析渲染页面 - > TCP断开连接
链接1
链接2
[2]DNS
用户访问网页,DNS服务器(域名解析系统)会根据用户提供的域名查找对应的IP地址
域名解析服务器是基于UDP实协议实现的一个应用程序,通常通过监听53端口来获取客户端的域名解析请求
DNS查找过过程如下:浏览器缓存、系统缓存、路由器缓存、DNs服务器解析
[3]HTTP请求报文
是由三部分组成: 请求行, 请求头和请求体。
请求行: GET index.html HTTP/1.1 请求⽅法、URL、协议版本
常用的方法有: GET, POST, PUT, DELETE, OPTIONS, HEAD。
常见的请求报头有: Accept, Accept-Charset, Accept-Encoding, Accept-Language, Content-Type, Authorization, Cookie, User-Agent等
[4]响应报文
HTTP响应报文也是由三部分组成: 响应行, 响应头和响应体。
响应行:协议版本、状态码 描述 HTTP/1.1 200 ok
常见的响应报头字段有: Server, Connection
响应报文:服务器返回给浏览器的文本信息,通常HTML, CSS, JS, 图片等文件就放在这一部分。
Web服务器有Tomcat, Jetty和Netty等等。
[5]状态码
是由3位数组成,第一个数字定义了响应的类别,且有五种可能取值:
1xx 【消息】服务器收到请求,需要请求者继续执行操作
2xx 【成功】请求已成功被服务器接收、理解、并接受。
3xx 【重定向】客户端需要采取进一步的操作以完成请求
4xx 【客户端请求错误】客户端错误,请求包含语法错误或无法完成请求
5xx 【服务器错误】服务器在处理请求的过程中发生了错误
平时遇到比较常见的状态码有:200, 204, 301, 302, 304, 400, 401, 403, 404, 422, 500等:
200 OK //客户端请求成功
304 Not Modified // 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized // 当前请求要求用户的身份认证
403 Forbidden // 服务器理解请求客户端的请求,但是拒绝执行此请求
404 Not Found //请求资源不存在,输入了错