HTTP协议相关

目录

  • 当我们输入网址后发生了什么
  • HTTP协议详解
  • Cookie与Session
  • HTTP缓存机制
浏览器行为与HTTP协议

主要处理流程:
1、输入网址并回车
2、解析域名
3、浏览器发送HTTP请求
4、服务器处理请求
5、服务器返回HTML响应
6、浏览器处理HTML页面
7、继续请求其他资源

了解TCP/IP协议栈
  1. 应用层(应用层,表示层,会话层)
    为用户提供所需要的各种服务,例如:HTTP、FTP、DNS、SMTP等.
  2. 传输层
    为应用层实体提供端到端的通信功能,保证数据包的顺序传送及数据的完整性。
    该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP).
  3. 网络层
    主要解决主机到主机的通信问题。IP协议是网际互联层最重要的协议。
  4. 网络接口层(数据链路层,物理层)
    负责监视数据在主机和网络之间的交换。
HTTP的工作过程

一次HTTP操作称为一个事务,其工作过程可分为四步:
1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。
2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。
如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。

HTTP状态码

1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求

cookies与session

Cookies是保存在客户端的小段文本,随客户端点每一个请求发送该url下的所有cookies到服务器端。

Session则保存在服务器端,通过唯一的值sessionID来区别每一个用户。SessionID随每个连接请求发送到服务器,服务器根据sessionID来识别客户端,再通过session 的key获取session值。

与Cookie相关的HTTP扩展头

1)Cookie:客户端将服务器设置的Cookie返回到服务器;
2)Set-Cookie:服务器向客户端设置Cookie;
服务器在响应消息中用Set-Cookie头将Cookie的内容回送给客户端,客户端在新的请求中将相同的内容携带在Cookie头中发送给服务器。从而实现会话的保持。

HTTP缓存机制

缓存会根据请求保存输出内容的副本,例如html页面,图片,文件,当下一个请求来到的时候:如果是相同的URL,缓存直接使用副本响应访问请求,而不是向源服务器再次发送请求。
缓存的优点:
减少相应延迟
减少网络带宽消耗


两种缓存策略

强制缓存与对比缓存

  • 强制缓存,服务器通知浏览器一个缓存时间,在缓存时间内,下次请求,直接用缓存,不在时间内,执行比较缓存策略。
  • 比较缓存,将缓存信息中的Etag和Last-Modified通过请求发送给服务器,由服务器校验,返回304状态码时,浏览器直接使用缓存。
    Etag/If-None-Match策略
    Last-Modified/If-Modified-Since策略

你可能感兴趣的:(HTTP协议相关)